Standardisierte Auszeichnungssprachen der Computergraphik für interaktive Systeme

Von der Fakultät Informatik, Elektrotechnik und Informationstechnik der Universität Stuttgart zur Erlangung der Würde eines Doktors der Naturwissenschaften (Dr. rer. nat.) genehmigte Abhandlung

Vorgelegt von

Martin Christian Rotard

aus Stuttgart

Hauptberichter: Prof. Dr. Thomas Ertl

Mitberichter: Prof. Dr. Rul Gunzenhäuser

Tag der mündlichen Prüfung: 19. Juli 2005

Institut für Visualisierung und Interaktive Systeme der Universität Stuttgart

2005

Für Melanie und Emily, für meine Eltern und meine Oma.

Kurzfassung

Computergraphik wird in vielen Bereichen der anwendungsorientierten Informa- tik, von der optischen Gestaltung graphischer Benutzungsoberflächen bis zur Vi- sualisierung wissenschaftlicher Zusammenhänge eingesetzt. Auszeichnungs- sprachen zur Beschreibung graphischer Information erweitern diese Einsatz- möglichkeiten um die Animation und die Interaktion mit den Inhalten. In dieser Arbeit werden neue Verfahren und Strategien entwickelt, die den Einsatz von standardisierten Auszeichnungssprachen der Computergraphik in den Bereichen Benutzungsoberflächen und Lehrmaterialien ermöglichen. Dabei liegt ein Schwerpunkt auf der Zugänglichkeit von graphischen Inhalten für blinde Men- schen, insbesondere durch interaktive Exploration von taktilen Darstellungen.

Diese Arbeit stellt Methoden für die Beschreibung von skalierbaren Interaktions- elementen mit Auszeichnungssprachen vor, die an verschiedenste Anzeigegerä- te angepasst werden können. Darauf aufbauend entstanden neue Konzepte für zoombare Benutzungsoberflächen zur variablen Größendarstellung von Interak- tionselementen und deren Inhalten. Erstmals werden auch Methoden vorgestellt, um die Darstellung von Benutzungsoberflächen, die mit Auszeichnungssprachen beschrieben werden, auf andere Rechner zu übertragen.

Der Einsatz von Graphiken, die auf Auszeichnungssprachen basieren, bietet bei deren Erstellung, Handhabung und Anwendung erhebliche Vorteile gegenüber herkömmlicher Rastergraphik. Diese Arbeit stellt neue Verfahren vor, um die Formatierungen von Graphiken in Lehrmodulen anzupassen. Entwickelt werden unter anderem Konzepte für die Generierung von Lehrmodulen, die eine flexible Wiederverwendung in verschiedenen Lernszenarien ermöglichen.

Für blinde Menschen bilden textuelle Inhalte die Hauptinformationsquelle bei ih- rer Arbeit mit Computersystemen. Die ganzheitliche Darstellung von textuellen und graphischen Inhalten ist für viele Anwendungen jedoch unabdingbar. Mit Graphik, die auf Auszeichnungssprachen basiert, können erstmals Verfahren für die taktile Repräsentation präsentiert werden, die eine ganzheitliche Erschlie- ßung der graphischen Inhalte ermöglichen. Dazu werden Methoden vorgestellt, die blinden Menschen den Zugang zu mathematischen Ausdrücken, zu 2D- und zu 3D-Graphiken gestatten. Dies wird an einem taktilen Web-Browser demons- triert, der den Zugang zu diesen unterschiedlichen Graphikarten integriert.

v

Abstract

Computer graphics is used in many fields of computer science, ranging from the presentation of user interfaces to the visualization of scientific aspects. These application areas are extended by techniques for animation and for interacting with the content, based on the description by markup languages. This thesis pro- poses new methods and strategies for standardized markup languages for user interfaces and for learning materials. One focus is on the access to the graphical content for visually disabled people, achieved by an interactive exploration of tactile representations.

In this thesis new methods for the description of scalable components for graph- ical user interfaces by using markup languages are presented. The components can be adapted to the limitations of a variety of output devices. Zoomable user interfaces provide a variable size for the components and the content. Novel methods are introduced for transmitting algorithmically generated user interfaces described by markup languages to various other computers.

Graphics based on markup languages has substantial advantages in their cre- ation, handling and application compared to conventional raster graphics. This thesis presents new methods and strategies in order to adapt the visual attrib- utes of the graphics to the formatting of learning modules in different learning platforms. Among others, concepts for generating learning modules, which allow a flexible re-use in different learning scenarios, are developed.

Plain text is the main source of information for visually disabled people working with computers. However, in many applications the holistic access to documents consisting of text and graphics is indispensable. To access graphical contents by means of tactile representations, methods are proposed for graphics based on markup languages. Additionally, methods for visually disabled people are de- veloped to use mathematical expressions, as well as 2D- and 3D-graphics. All concepts are integrated into a tactile where all variants of graphics can be accessed in a unique way.

vii

Danksagung

Diese Arbeit entstand am Institut für Visualisierung und Interaktive Systeme der Universität Stuttgart. Den Mitarbeitern des Instituts, die mich auf meinem Weg der Dissertation begleitet haben, danke ich für das hervorragende Arbeitsklima. Insbesondere bedanke ich mich herzlich bei meinem Doktorvater Prof. Dr. Tho- mas Ertl für sein großes wissenschaftliches Engagement und für seine technolo- gischen Visionen. In unzähligen Gesprächen entstanden daraus unterer anderem die Bausteine für meine Doktorarbeit. Für die detaillierten Diskussionen über die Inhalte meiner Doktorarbeit möchte ich Prof. Dr. Rul Gunzenhäuser herzlich danken.

Bei meiner Familie bedanke ich mich für die Kraft und die Unterstützung, die für die Realisierung dieser Arbeit notwendig waren.

Für die inhaltliche und syntaktische Korrektur danke ich Melanie Rotard, Traudel Rotard, Joachim Diepstraten, Astrid Spurk, Dr. Andreas Hub, Dr. Matthias Res- sel, Alfred Werner und Dr. Daniel Weiskopf.

Darüber hinaus danke ich meinen Diplom- und Studienarbeitern Klaus Bosse, Bodo Josefy, Kerstin Otte und Sven Knödler und meinen studentischen Hilfskräf- ten Nina Dengler, Tülay Cetin, Lars Heinemann, Steffen Müller, Oliver Rendgen, Ralf Botchen und Tobias Schafhitzel, die mir bei der Umsetzung meiner Ziele eine große Hilfe waren.

Für die hervorragende Zusammenarbeit bei zahlreichen wissenschaftlichen Ver- öffentlichungen bedanke ich mich bei Prof. Dr. Thomas Ertl, Lutz Finsterle, Dr. Daniel Weiskopf, Dr. Matthias Ressel, Dr. Waltraud Schweikhardt, Dr. Cora Burger und Arno Wacker. Mein Dank gilt auch allen involvierten Personen im BMBF-Projekt Information Technologie Online (ITO) und den beiden Initiatoren der Lernplattform Metacoon Annett Zobel und Matthias Hupfer für die Weiter- entwicklung und Integration des ITO-Lehrmodulformats.

Desweiteren bedanke ich mich für die inhaltliche Bereicherung meiner Arbeit und für die erkenntnisreichen Diskussionen bei Prof. Dr. Gerhard Weber, Dr. Frank Hanisch, Thomas Zink, Mark Giereth, Frank Götz und Cameron McCormack.

ix

Inhaltsverzeichnis

1 Einleitung...... 13 1.1 Graphische Standards...... 13 1.2 Beiträge der Arbeit...... 16 1.3 Gliederung der Arbeit...... 18 2 XML-basierte Graphikstandards...... 21 2.1 Standardisierte Auszeichnungssprachen der Computergraphik...... 22 2.2 Extensible Markup Language...... 24 2.2.1 Zur Geschichte...... 24 2.2.2 Aufbau und Strukturbeschreibung...... 25 2.2.3 Eigenschaften...... 30 2.3 Rastergraphik und Vektorgraphik...... 33 2.4 ...... 34 2.4.1 Zur Geschichte...... 34 2.4.2 Aufbau und Eigenschaften...... 34 2.4.3 Modularisierung: SVG Tiny und SVG Basic...... 38 2.4.4 Abgrenzung zu anderen 2D-Vektorgraphikformaten...... 39 2.5 Mathematical Markup Language...... 41 2.5.1 Zur Geschichte...... 41 2.5.2 Aufbau und Eigenschaften...... 41 2.5.3 Abgrenzung zu anderen Formaten für mathematische Ausdrücke....43 2.6 Extensible 3D...... 44 2.6.1 Zur Geschichte...... 45 2.6.2 Aufbau und Eigenschaften...... 45 2.6.3 Abgrenzung zu anderen 3D-Computergraphikformaten...... 47 2.7 Weitere XML-basierte Graphikstandards...... 48 2.7.1 Synchronized Multimedia Integration Language...... 49 2.7.2 XForms...... 50 2.8 Zusammenfassung...... 52 3 XML-basierte Graphik in Benutzungsoberflächen...... 55 3.1 Vorausgegangene Arbeiten...... 56 3.2 XML-basierte skalierbare Widgets-Sets...... 59 3.2.1 XML-basierte Widgets...... 60 3.2.2 Vereinfachte Handhabung von Widgets mit sXBL...... 63 3.2.3 Zoombare Benutzungsoberflächen...... 64

xi 3.3 Übertragung von Benutzungsoberflächen...... 69 3.3.1 Simulation von Geräten...... 70 3.3.2 Verarbeitung von Ereignissen...... 73 3.3.3 Ereignisse auf dem Server...... 77 3.4 Ergebnisse...... 78 4 XML-basierte Graphik in Lehrmaterialien...... 81 4.1 Vorausgegangene Arbeiten...... 87 4.2 Eigenschaften XML-basierter Graphik in Lehrmodulen...... 88 4.3 XML-basiertes Lehrmodulformat...... 92 4.4 Transformation ins XML-basierte Lehrmodulformat...... 96 4.5 Erstellung von Lehrmodulen mit konventionellen Autorenwerkzeugen.....98 4.5.1 Auszeichnung von Inhalten mit Formatvorlagen...... 99 4.5.2 Assistenten zur Unterstützung der Auszeichnung...... 101 4.6 Ergebnisse...... 104 5 Zugang blinder Menschen zu XML-basierter Graphik...... 107 5.1 Vorausgegangene Arbeiten...... 108 5.2 Computergenerierte Darstellung von taktiler Graphik...... 111 5.3 Mathematische Ausdrücke...... 113 5.4 2D-Graphiken...... 117 5.4.1 Transformationsschema...... 119 5.4.2 Steuerung der Exploration...... 122 5.4.3 Explorationsfilter...... 125 5.5 3D-Graphiken...... 128 5.6 Taktiler Web-Browser...... 131 5.6.1 Layout und Formatierung von Webseiten...... 132 5.6.2 Exploration von Graphiken...... 135 5.7 Ergebnisse...... 137 6 Ergebnisse der Arbeit und Ausblick...... 141 7 Anhang...... 147 7.1 Abbildungsverzeichnis...... 147 7.2 Abkürzungsverzeichnis...... 151 8 Literatur...... 155

xii 1 Einleitung

1 Einleitung At the beginning, there was HTML 1 and it was - for text documents only - for document structure only It was ideal for informative, albeit simple pages And it was good...

Then came the gifs and the image maps...... and the forms and the frames ... and the blinks and the fonts ... and the flashes, the quicktimes, the VRML-s, and other media ... and the Javascripts and the ECMAscripts and the applets And chaos reigns!

Ivan Herman, Head of W3C Offices

1 Einleitung

„Ein Bild sagt mehr als tausend Worte“ wurde zu einem wichtigen Grundsatz in der Ingenieurwissenschaft. Im Zeitalter der Medien ist graphische Informati- on allgegenwärtig, insbesondere in den neuen Medien, die durch das Internet publiziert werden. Graphiken ergänzen dort textuelle Inhalte, bieten einen Überblick über komplexe Sachverhalte und wecken dazu die Aufmerksamkeit des Betrachters.

Im ersten Abschnitt dieser Einleitung werden graphische Standards betrachtet. Dabei werden proprietäre und offene Standards erläutert sowie die Notwen- digkeit von standardisierten Graphikformaten herausgestellt. Der zweite Ab- schnitt geht dann auf die Beiträge dieser Arbeit ein. Der letzte Abschnitt stellt die Gliederung der vorliegenden Arbeit vor.

1.1 Graphische Standards

Für die Speicherung von Graphiken in informationsverarbeitenden Systemen stehen derzeit proprietäre Formate von Softwareherstellern den offenen von

13 1.1 Graphische Standards

Konsortien entwickelten Formaten gegenüber. Proprietäre Formate sind auf die speziellen Anforderungen der zugehörigen Graphikprodukte zuge- schnitten. Um die Benutzer nicht auf die Verwendung eines spezifischen Graphikprodukts festzulegen und um die Wiederverwendung von Graphiken zu ermöglichen, sind Import-/Exportfilter in den Produkten notwendig. Die Kon- vertierung einer Graphik in ein anderes Format ist allerdings oft nur mit Verlus- ten möglich, da bei den unterschiedlichen proprietären Produkten keine einheitlichen Konventionen über die Speicherung der Graphikinformation wie Farbtiefe, Metainformation, Effekte, etc. vereinbart wurden.

Für einen offenen Graphikstandard ist es dagegen wichtig, möglichst viele An- forderungen von Graphikprodukten zu erfüllen, plattformübergreifend einge- setzt werden zu können, freien Zugang zur Dokumentation zu ermöglichen und uneingeschränkt verwendbar zu sein. Bei der Spezifikation von offenen Standards werden viele Interessengruppen integriert. Sobald ein offener Stan- dard von vielen Graphikprodukten unterstützt und von einer großen Zahl von Benutzern angenommen wird, führt dies zu einer höheren Verbreitung und da- mit auch unmittelbar zu einer vereinfachten Handhabung für die Benutzer.

Kommunikations- Inhalte Ausgabegeräte & Speichermedien Arbeitsplatz- Text Netzwerk rechner Speicher- Wieder- Notebook 2D-/3D-Graphik format Rundfunk gabe

Photo CD / DVD Mobiles Gerät

Mathematischer Festplatte Spielekonsole Ausdruck Statischer Video Fernseher Speicher

Abbildung 1.1: Graphische Inhalte, deren Übertragung, Speicherung und Ausgabe

Medieninhalte, die graphisch dargestellt werden können, gliedern sich in Text, 2D-/3D-Graphiken, Photos, mathematische Ausdrücke und Videos (vergleiche Abbildung 1.1). Jeder dieser Inhalte hat spezielle Eigenschaften, die in einem geeigneten Speicherformat abgebildet werden müssen. Bei der Definition

14 1.1 Graphische Standards eines solchen Formats spielen die Fähigkeiten der Benutzer und der Einsatz- bereich des Inhalts eine wichtige Rolle. Auch das Kommunikations- und Spei- chermedium und die Ausgabegeräte der Benutzer müssen berücksichtigt werden.

Stehen diese Anforderungen fest, werden die Daten des Medieninhalts dem Speicherformat entsprechend kodiert. Kommunikations- und Speichermedien besitzen nur begrenzte Kapazitäten, deshalb speichern viele Formate die Da- ten in komprimierter Form. Um hohe Kompressionsraten zu erreichen, müssen bei Photos und Videos verlustbehaftete Algorithmen eingesetzt werden. Dabei werden Teile der visuellen und auditiven Information verworfen, die der Benutzer nicht oder kaum wahrnehmen kann. Auch für die anderen Medien- inhalte ist eine verlustbehaftete Komprimierung zwar möglich, jedoch kann de- ren algorithmische Umsetzung sehr komplex sein.

Bei der Erstellung eines Medieninhalts wählen die Autoren den Randbe- dingungen entsprechend ein Speicherformat aus. Insbesondere wenn eine spätere Wiederverwendung oder eine Veränderung des Inhalts relevant werden, muss das Speicherformat Modifikationen ohne Qualitätseinbußen un- terstützen. Dazu ist die Speicherung der Objektstrukturen im Format notwen- dig.

Graphiken spielen auch in Benutzungsoberflächen eine zentrale Rolle. Sie ermöglichen den Benutzern auf direkte und einfache Weise mit einem Compu- tersystem zu interagieren. Neben den Fenstersystemen hat sich im World Wide Web (WWW bzw. Web) die HyperText Markup Language (HTML) als eigenständige Beschreibungssprache für graphische Benutzungsoberflächen etabliert, die mit Web-Browsern dargestellt wird [WebArch, HTML]. Die frühen Dokumente des Webs waren rein textbasiert, konnten aber schon kurz darauf durch eingebettete Rastergraphiken ergänzt werden. Um zusätzliche Interak- tionsmöglichkeiten zu bieten, haben die Hersteller ihre Web-Browser durch immer mehr Funktionalität und PlugIn-Schnittstellen erweitert. Da die Stan- dards nicht von einem Konsortium verabschiedet und dann umgesetzt wurden, brachte dies einen „Wildwuchs“ von proprietären Quasi-Standards hervor. Die hierdurch entstandenen Kompatibilitätsprobleme erhöhen den Auf- wand und die Kosten für die Erstellung von einheitlichen Benutzungsoberflä-

15 1.1 Graphische Standards chen im Web erheblich, da diese speziell für jeden Web-Browser und abhän- gig von dessen Version entwickelt werden müssen. Nicht zuletzt durch diesen Umstand wurden Konsortien aktiv, um einheitliche Standards zu entwickeln.

Die aktuellen Standards bzw. Empfehlungen dieser Konsortien basieren auf Auszeichnungssprachen (Markup Languages). Die wichtigsten Konsortien im Bereich Auszeichnungssprachen der Computergraphik sind dabei das World Wide Web Consortium (W3C), das Web3D-Consortium und die Organization for the Advancement of Structured Information Standards (OASIS) [W3C, Web3D, OASIS]. Die gemeinsame Grundlage der aktuellen Auszeichnungs- sprachen bildet die 1998 von W3C verabschiedete Extensible Markup Language (XML). Die derzeit verwendeten Standards bieten verbesserte und vereinfachte Möglichkeiten für Autoren und Benutzer in der Erstellung und Handhabung von graphischer Information. Darüber hinaus ermöglichen die Standards eine Interaktion mit den Benutzern, einen vereinfachten Zugang zu graphischer Information und eignen sich für die Entwicklung flexibler Benutzungsoberflächen, die nicht nur auf Browseranwendungen begrenzt sind, sondern auch allgemein als Fenstersysteme eingesetzt werden können [Rice et al. 1996]. XML-basierte offene Standards bilden auch die Grundlage dieser Arbeit, da sie für die Erfordernisse von interaktiven Systemen am Bes- ten geeignet sind.

1.2 Beiträge der Arbeit

In dieser Arbeit werden neue Verfahren und Strategien für den Einsatz von standardisierten Auszeichnungssprachen der Computergraphik entwickelt. Dabei ist deren Verwendung nicht ausschließlich auf Inhalte im Web beschränkt, sondern für verschiedene Anwendungsgebiete und Nutzergruppen geeignet. XML-basierte Graphik in Benutzungsoberflächen so- wie Lehr- und Lernmaterialien stehen als Anwendungsgebiete im Vordergrund. Ein Schwerpunkt liegt dabei auf der Zugänglichkeit von graphischen Inhalten für blinde Menschen. Ihnen wird mit taktilen Darstel- lungen der XML-basierten Graphik die interaktive Exploration ermöglicht.

Graphiken werden in Benutzungsoberflächen für Interaktionselemente (Wid- gets), Icons, Menüs, etc. und in Lehrmaterialien für Diagramme, Graphen, ma-

16 1.2 Beiträge der Arbeit thematische Ausdrücke, Produktvisualisierungen, etc. verwendet. Graphik muss in diesen Bereichen flexibel einsetzbar und an unterschiedliche Randbe- dingungen anpassungsfähig sein. Insbesondere ist die Anpassung der Dar- stellungsgröße an die Auflösung des Ausgabegeräts für viele Anwendungsbe- reiche wichtig, wie beispielsweise bei mobilen Geräten.

Diese Arbeit stellt Methoden für die Beschreibung von skalierbaren Interak- tionselementen mit Auszeichnungssprachen vor, die an die Randbedingungen verschiedenster Anzeigegeräte angepasst werden können. Darauf aufbauend entstanden neue Konzepte für zoombare Benutzungsoberflächen, die eine va- riable Größenanpassung der Interaktionselemente und der Inhalte ermögli- chen. Darüber hinaus werden erstmals Methoden vorgestellt, um die Darstel- lung von algorithmisch generierten, XML-basierten Benutzungsoberflächen auf andere Rechner zu übertragen.

Die Ergebnisse zu diesem Themengebiet wurden in [Rotard 2004g] und [Rotard et al. 2005b] publiziert. Ein Konzept zur skalierbaren Darstellung von Benutzungsoberflächen wurde in der Diplomarbeit von Martin Barbisch er- arbeitet [Barbisch 2002]. Bei der Übertragung von Benutzungsoberflächen mit standardisierten Auszeichnungssprachen hat die Diplomarbeit von Michael Küper einen wesentlichen Teil beigetragen [Küper 2003].

Der Einsatz von XML-basierter Graphik hat erhebliche Vorteile bei der Erstel- lung, Handhabung und Anwendung gegenüber herkömmlicher Rastergraphik. Diese Arbeit stellt auf XML basierende neue Verfahren und Strategien vor, um Graphiken den Formatierungen der Lehrmodulen für unterschiedliche Lern- plattformen anzupassen. Entwickelt werden unter anderem Konzepte für die Generierung von Lehrmodulen, die eine flexible Wiederverwendung in ver- schiedenen Lernszenarien ermöglichen.

Die Inhalte dieses Themenbereichs wurden zusammen mit Lutz Finsterle ver- öffentlicht [Finsterle et al. 2002, Finsterle et al. 2003, Rotard et al. 2003b, Rotard et al. 2004c]. Die Diplomarbeit von Bodo Josefy, in der eine Lernplatt- form mit Unterstützung von standardisierten Auszeichnungssprachen entwi- ckelt wurde, diente dabei als Grundlage für die Aufbereitung von Lehrmodulen [Josefy 2002].

17 1.2 Beiträge der Arbeit

Für blinde Menschen bilden textuelle Inhalte die Hauptinformationsquelle bei ihrer Arbeit mit Computersystemen. Der Zugang zu Rastergraphikformaten ist für sie nur rudimentär, meist aber gar nicht möglich. Die ganzheitliche Darstel- lung von textuellen und graphischen Inhalten ist in vielen Anwendungen je- doch unabdingbar. Durch die Verwendung von XML-basierter Graphik werden erstmals Möglichkeiten aufgezeigt, graphische Inhalte auch durch taktile Dar- stellungen ganzheitlich zu erschließen. Dazu werden Verfahren vorgestellt, um blinden Menschen den Zugang zu mathematischen Ausdrücken, zu 2D- und zu 3D-Graphiken zu ermöglichen. Erstmalig wird ein taktiler Web-Browser demonstriert, der verschiedene Arten von Graphik integriert und taktil zugäng- lich macht. Durch interaktives Explorieren wird der Zugang zu graphischer In- formation auch für blinde Menschen ermöglicht und die ganzheitliche Erfassung in Kombination mit textueller Information erreicht.

Die Transformation von mathematischen Ausdrücken in eine Notation für Blinde wurde mit Klaus Bosse und Waltraud Schweikhardt in [Rotard et al. 2003a] veröffentlicht und basiert auf der Diplomarbeit von Klaus Bosse [Bosse 2002]. Der Zugang blinder Menschen zu XML-basierten 2D- Graphiken wurde mit Kerstin Otte in [Rotard et al. 2004a] und in [Rotard et al. 2004b] publiziert. Eine Grundlage dafür bildet die Studienarbeit von Kerstin Otte [Otte 2004]. Verfahren für den Zugang blinder Menschen zu 3D-Graphiken wurden in [Rotard 2004g] vorgestellt und basieren auf der Di- plomarbeit von Martin Görke [Görke 2003]. Die Umsetzung des taktilen Web- Browsers wurde in der Studienarbeit von Sven Knödler erarbeitet und zusammen mit Sven Knödler veröffentlicht [Knödler 2005, Rotard et al. 2005c].

1.3 Gliederung der Arbeit

In Kapitel 2 wird in Graphikstandards eingeführt, die auf XML basieren. Grund- legend dafür ist der Begriff „standardisierte Auszeichnungssprache“ der Computergraphik. Es werden des weiteren die Techniken von XML vorgestellt und ein Überblick über die graphischen Standards Scalable Vector Graphics (SVG), Mathematical Markup Language (MathML) und Extensible 3D (X3D) gegeben. Darüber hinaus werden weitere XML-basierte Standards wie Syn-

18 1.3 Gliederung der Arbeit chronized Multimedia Integration Language (SMIL) und XML Forms (XForms) betrachtet.

Im dritten Kapitel werden Konzepte für die Modellierung von graphischen Benutzungsoberflächen mit XML-basierten Widgets und Widget-Sets vorge- stellt. Darauf aufbauend wird ein Konzept für zoombare Benutzungsoberflä- chen präsentiert. Anschließend werden neue Verfahren für die Darstellung von Benutzungsoberflächen mit XML-basierter Graphik auf entfernten Rech- nern beschrieben.

Kapitel 4 stellt Verfahren für den Einsatz XML-basierter Graphik in Lehrmate- rialien vor. Dazu wird ein neues Lehrmodulformat präsentiert, das es ermöglicht, XML-basierte Graphik einzubetten und an die Randbedingungen von Lernplattformen flexibel anzupassen. Für die Erstellung von Lehrmodulen wurde ein Werkzeug entwickelt, das auf konventionellen Autorenwerkzeugen basiert.

Der Zugang zu XML-basierter Graphik für blinde Menschen wird in Kapitel 5 vorgestellt. Für mathematische Ausdrücke, 2D- und 3D-Graphiken werden neue Verfahren realisiert, die taktile Repräsentationen der Graphiken er- stellen. Die Erkennung der graphischen Information wird durch eine interaktive Exploration und durch das Anwenden von Explorationsfiltern ermöglicht. Die Konzepte werden in einen taktilen Web-Browser für blinde Menschen in- tegriert, mit dem Webseiten ganzheitlich erfasst werden können.

In Kapitel 6 werden die Ergebnisse der jeweiligen Bereiche dieser Arbeit zu- sammengefasst und mit einem Ausblick auf zukünftige Entwicklungen und neue Technologien für standardisierte Auszeichnungssprachen der Compu- tergraphik für interaktive Systeme versehen.

19 1.3 Gliederung der Arbeit

20 2 XML-basierte Graphikstandards

2 XML-basierte Graphikstandards Your life is a web. Your data is a web.

Tim Berners-Lee, Director of the World Wide Web Consortium

2 XML-basierte Graphikstandards

Im Folgenden wird ein Überblick über die graphischen Standards Scalable Vector Graphics, Mathematical Markup Language und Extensible 3D gege- ben. Dabei wird jeweils auf deren Geschichte, deren Aufbau und deren Eigen- schaften eingegangen. Anschließend werden die Auszeichnungssprachen Synchronized Multimedia Integration Language und XML Forms kurz präsentiert. Die gemeinsame Basis dieser Formate bildet die Extensible Markup Language (XML). Daher stellen die ersten beiden Abschnitte dieses Kapitels die Eigenschaften von standardisierten Auszeichnungssprachen der Computergraphik und die Konzepte von XML in komprimierter Form vor. Abbil- dung 2.1 zeigt die Abhängigkeiten der in dieser Arbeit verwendeten XML-ba- sierten Graphikformate.

SGML

HTMLXML VRML

XHTML MathML XForms SVG SMIL X3D Abbildung 2.1: Entstehung der XML-basierten Graphikformate

21 2.1 Standardisierte Auszeichnungssprachen der Computergraphik

2.1 Standardisierte Auszeichnungssprachen der Computer- graphik

Standardisierte Auszeichnungssprachen der Computergraphik werden auch Web-Standards genannt. Sie müssen von einem internationalen Konsortium wie dem im Oktober 1994 gegründeten World Wide Web Consortium (W3C) als offener Standard vorgeschlagen werden. Der Ablauf der Standardisierung erfolgt nach einem vorab festgelegten Prozess. Als Mitglied darf jede Instituti- on und Firma in Arbeitsgruppen des Konsortiums mitwirken.

Das Ziel der Standardisierung ist die Konformität der Inhalte zu den Stan- dards, was die Interoperabilität sicher stellt. Dies ist vorteilhaft beim Erstellen, Weiterverarbeiten und Anzeigen der Inhalte. Bei geringen Entwicklungskosten sind die Inhalte in einem breiteren Einsatzbereich verwendbar [Weakley 2004]. Außerdem unterliegen Web-Standards keinen lizenzrechtli- chen Beschränkungen. Bei einem Web-Standard werden die Spezifikation, die Dokumentation und die Schnittstellen des Formats offen gelegt. Proprietäre Quasi-Standards, die durch aktive Verwendung eine weite Verbreitung erlangen, werden oft durch Reverse-Engineering erschlossen.

Die Plattformunabhängigkeit einer Auszeichnungssprache wird erhöht, wenn der offene Standard die Trennung von Inhalt und Darstellung unterstützt. Da- her werden Web-Standards nicht gerätespezifisch, sondern plattformunabhän- gig definiert. Durch so genannte Profile lassen sich manche Teile der Stan- dards nach den Anforderungen der Anwendung auswählen. Dadurch kann auch für eine leistungsschwächere Geräteklasse eine Untermenge des Stan- dards verwendet werden.

Durch Mitwirkung von vielen unterschiedlichen Interessenvertretern, durch öf- fentliche Diskussion und durch die gemeinsame Übereinkunft ist ein an- schließendes Umsetzen der Standards zu erwarten. Dadurch bleibt auch ge- währleistet, dass unterschiedliche Nutzergruppen mit verschiedenen An- forderungen, wie beispielsweise der Zugang von sensorisch Behinderten zu den standardisierten Dokumenten, betrachtet werden.

22 2.1 Standardisierte Auszeichnungssprachen der Computergraphik

Der Einsatz von Web-Standards erfolgt inzwischen multimodal und bleibt nicht mehr auf die ausschließliche Nutzung an Arbeitsplatzrechnern beschränkt. Daher müssen für Interaktionen auf mobilen Geräten neben Maus und Tasta- tur auch weitere Eingabegeräte wie beispielsweise Stift, Touchscreen oder Spracheingabe berücksichtigt werden [Froumentin 2003]. Die Nutzer profi- tieren von standardkonformen Inhalten durch einfachere Handhabung, durch schnellere Verarbeitungsgeschwindigkeit und durch höhere Zugänglichkeit für eine breite Nutzer- und Geräteklasse. Auch die Autoren der Inhalte profitieren von einer größeren Werkzeugunterstützung und Kompatibilität der Formate. Darüber hinaus können viele Inhalte der standardisierten Auszeichnungsspra- che durch Suchmaschinen indiziert werden, was deren Wiederverwendung und die weite Verbreitung fördert.

Auszeichnungssprachen für komplexe Inhalte (Lehrmodule, Höhere Anwendungen Benutzungsoberflächen, etc.)

Standardisierte Auszeichnungs- X3D SVG etc... sprachen für Inhalte SMIL XHTML MathML

Meta-Auszeichnungs- XML sprache und Infrastruktur (Namespaces, Schema, XSLT, Xpath, Xlink, XInclude, etc.) HTTP Kommunikation und Adressierung URI

Abbildung 2.2: Schichtendigramm der standardisierten Auszeichnungssprachen

Abbildung 2.2 stellt standardisierte Auszeichnungssprachen der Compu- tergraphik des W3C und Web3D-Consortium in einem Schichtendigramm vor. Die Darstellung zeigt ausschließlich graphische Web-Standards und ist an ein

23 2.1 Standardisierte Auszeichnungssprachen der Computergraphik

Schichtendiagramm des W3C angelehnt [Dardailler 2003]. Die Basis bilden der Universal Resource Identifier (URI), mit dem Ressourcen eindeutig adressiert werden können, und das darauf aufbauende Hypertext Transfer Protocol (HTTP) für die Kommunikation im Web. Die Extensible Markup Language (XML) spezifiziert Konventionen für strukturierte Datenformate. Dabei werden weitere Standards verwendet, die Teilaspekte wie Namensräu- me, Transformation, Referenzierung, Einbettung von Elementen, etc. abde- cken.

Auf dieser Basis bauen standardisierte Auszeichnungssprachen für Inhalte, die so genannten XML-Anwendungen wie Scalable Vector Graphics (SVG), Mathematical Markup Language (MathML), Extensible 3D (X3D), Synchroni- zed Multimedia Integration Language (SMIL),etc.auf.Diesewiederum können verwendet werden, um Auszeichnungssprachen für komplexe Inhalte (Lehrmodule, Benutzungsoberflächen, etc.) als höhere Anwendungen zu de- finieren.

2.2 Extensible Markup Language

Die Extensible Markup Language (XML) stellt eine Auszeichnungssprache zur Definition von Datenformaten dar [XML]. Dieses Konzept wird auch Meta- Sprache genannt. Mit den durch XML definierten Datenformaten wird eine einheitlich strukturierte Speicherung von Daten ermöglicht. XML besteht dabei aus einem Satz an Konventionen für den Aufbau dieser Textformate zur Struk- turierung der Daten und ist keine Programmiersprache im herkömmlichen Sinn. Das Datenformat trennt die Inhalte von ihrer Darstellung und kann spezi- fisch für jeden Anwendungsfall festgelegt werden. Die auf der Basis von XML definierten Auszeichnungssprachen werden auch als Anwendungen (Applika- tions) von XML oder als XML-Derivate bezeichnet.

2.2.1 Zur Geschichte

Das Konzept der Meta-Sprachen wurde vor allem durch die Standard Gene- ralized Markup Language (SGML) bekannt [SGML]. Bereits 1986 wurde SGML als ISO 8879 standardisiert. Mit so genannten Document Type Defini- tions (DTD) lassen sich SGML-Auszeichnungssprachen definieren.

24 2.2 Extensible Markup Language

Die Bestandteile der Auszeichnungssprache müssen einen vorgeschriebenen Aufbau besitzen. Die Elemente werden mit ihren zugehörigen Attributen be- schrieben. Darüber hinaus gibt es Regeln, die festlegen, welche Elemente anderen Elementen hierarchisch untergeordnet werden dürfen und welche nicht. Die bekannteste Auszeichnungssprache, die mit SGML definiert wurde, ist die HyperText Markup Language [HTML].

Die mit SGML definierten Auszeichnungssprachen haben sich als sehr kom- plex herausgestellt. Aus diesem Grunde wurde im Februar 1998 XML als Un- termenge von SGML vom W3C festgelegt. Dabei wurden alle selten verwendeten und komplexen Eigenschaften entfernt, aber die strukturierte Form von SGML beibehalten. Die Reduktion hat zum Ergebnis, dass die formale Definition von XML sich auf ca. 30 Druckseiten beschränkt, wogegen SGML mehr als 500 Seiten benötigt [Macherius 1997].

XML ist in der Praxis ähnlich leistungsfähig wie SGML und erlaubt auch das Definieren von Auszeichnungssprachen mit DTDs. XML ist also keine SGML- Anwendung, sondern eine Verallgemeinerung von SGML. XML ist erweiterbar, plattformunabhängig und unterstützt den internationalen Einsatz durch die Verwendung von Unicode [Unicode]. Weitere Grundsätze werden auf den Webseiten des W3C aufgeführt [XML].

Auch die Auszeichnungssprache HTML wurde mit XML neu definiert. Damit man die alte von der neuen Version unterscheiden kann, wurde sie Extended HyperText Markup Language (XHTML) genannt [XHTML]. Anfang 2000 veröf- fentlichte das W3C die Empfehlung für diesen neuen Standard. XHTML besitzt dabei die gleichen Elemente, Attribute und Verschachtelungsregeln wie HTML. Durch die Neudefinition von HTML in XML ist das Datenformat strikter geworden. Dafür ist aber XHTML syntaktisch kompatibel mit anderen XML- Anwendungen und lässt sich somit auch mit diesen kombinieren. Für einen detaillierten Vergleich von XHTML mit HTML sei auf [Münz] verwiesen.

2.2.2 Aufbau und Strukturbeschreibung

XML wurde von einem internationalen Konsortium als offener Standard er- arbeitet und unterliegt damit keinen lizenzrechtlichen Beschränkungen. Durch

25 2.2 Extensible Markup Language die Verwendung von Unicode können in XML-Dokumenten Zeichen aus den unterschiedlichsten Kulturkreisen verwendet werden.

In XML-Dokumenten werden so genannte “Tags” zur Gliederung von Elementen der Auszeichnungssprache verwendet. Dabei kennzeichnet ein Starttag den Beginn und ein Endtag das Ende eines Elements. Geöffnete Tags müssen geschlossen werden, auch wenn sie keinen Inhalt besitzen. Dies kann vereinfacht in der Notation angegeben werden. Die Tags werden in XML nur zur Abgrenzung von Daten verwendet. Deren inhaltliche Interpretation wird der jeweiligen Anwendung überlassen. Jedem Element können Attribute zugeordnet werden. Der Attribut- name gefolgt von seinem Wert wird dazu in das Starttag geschrieben. Ein Bei- spiel dazu ist .

Wohlgeformtheit

Durch die Schachtelung von Elementen ergibt sich eine Baumstruktur. Für die Weiterverarbeitung kann das XML-Dokument anhand dieses Baumes traver- siert werden. Meistens wird dazu die Tiefensuche (Depth-First Search) verwendet. Um dem XML-Parser mitzuteilen, zu welcher XML-Version das Do- kument zugeordnet werden kann, wird im so genannten Prolog der XML-De- klaration die XML-Version angegeben. XML-Dokumente, die alle oben ge- nannten Bedingungen erfüllen, werden als wohlgeformt (well-formed) bezeich- net.

In folgendem Beispiel ist ein Element mit dem Namen “dissertation” und einem Attribut mit dem Namen “typ” aufgeführt, das drei weitere Elemente “titel”, “autor” und “jahr” enthält:

Standardisierte Auszeichnungssprachen der Computergraphik für interaktive Systeme Martin Rotard 2005

26 2.2 Extensible Markup Language

Gültigkeit

Wohlgeformte XML-Dokumente lassen sich auch parsen, ohne deren Struktur- beschreibung in der DTD zu kennen. Damit ein XML-Dokument als gültig (valid) bezeichnet werden kann, muss es die formale Grammatik in der DTD erfüllen und darf keine dort aufgeführte Regel verletzen. Ein XML-Parser kann die Gültigkeit des Dokuments überprüfen, wenn die zugehörige DTD beigefügt oder eine Referenz darauf angegeben ist. Die Angabe erfolgt in der so ge- nannten DOCTYPE-Deklaration im Prolog des Dokuments. Für das obige Bei- spiel könnte eine Referenz auf eine externe DTD (unterhalb der XML-Version) wie folgt aussehen:

Die zugehörige DTD des gültigen XML-Dokuments ist in folgendem Beispiel angegeben. Sie besteht aus den Definitionen der einzelnen Elemente und dem erforderlichen Attribut. Den Elementen “titel”, “autor” und “jahr” wird vorgegeben, dass sie nur untergeordnet zu dem Element “dissertation” vor- kommen dürfen.

Strukturbeschreibung mit XML Schema

Wie das obige Beispiel zeigt, besitzt eine DTD selbst keine XML-Syntax. Auch können den Elementen und Attributen in einer DTD keine Datentypen zuge- wiesen werden. Darüber hinaus fehlt die Möglichkeit, Namensräume verwenden zu können – Erläuterungen zu Namensräumen sind weiter unten zu finden. Diese Mängel wurden durch den im Mai 2001 verabschiedeten W3C Standard der XML Schema Definition beseitigt [XML Schema].

Ein XML Schema ist eine Strukturbeschreibung in XML-Syntax, die Datenty- pen wie string, integer, boolean, date etc. unterstützt. Darüber hinaus gibt es die Möglichkeit, Inhalte von Elementen und Attributen mittels regulärer Aus-

27 2.2 Extensible Markup Language drücke zu spezifizieren. Außerdem können auch eigene Datentypen definiert werden. Zusätzlich kann die Häufigkeit des Auftretens eines Elements (oder einer Gruppe) vorgegeben werden.

Das XML Schema zu obigem Beispiel ist im folgenden Abschnitt angegeben. Dort wird das Element “dissertation” als komplexer Inhaltstyp definiert. Diesem dürfen “titel”, “autor” und “jahr” untergeordnet werden. Deren Inhalte und das Attribut sind vom Typ “string”. Das Element “jahr” erwartet Inhalte vom Typ “in- teger”.

Strukturbeschreibung mit Relax NG

Die Ausdrucksmöglichkeit einer formalen Grammatik in Form eines XML Schemas ist wesentlich größer, als die einer DTD. Dagegen ist die Lesbarkeit einer DTD wegen ihrer kompakten Form deutlich besser. Dies ist als Nachteil der XML-Syntax zu sehen [Seemann]. Die alternative Strukturbeschreibungs- sprache Relax NG sieht einen Mittelweg vor, indem sie sowohl eine XML-kon- forme, als auch eine kompakte, aber nicht XML-konforme Beschreibung der Grammatik besitzt [Relax NG].

Relax NG geht auf die Konzepte der Strukturbeschreibungssprachen RELAX (Regular Language description for XML) und TREX (Tree Regular Ex- pressions for XML) zurück und wurde von der Organization for the Advance-

28 2.2 Extensible Markup Language ment of Structured Information Standards (OASIS) weiterentwickelt [Relax, Trex, OASIS]. Von der International Organization for Standardization (ISO) wurde Relax NG im Dezember 2003 als Standard verabschiedet. Neben wenigen eigenen Datentypen wie token, string und text können die Datenty- pen des XML Schemas mit vorangestelltem Namensraum (Namespace) xsd verwendet werden. Die Kurzform ähnelt sehr der Definition mit der DTD, wie die folgende Struktur zeigt. Darüber hinaus lassen sich Operatoren ähnlich wie in regulären Ausdrücken verwenden.

Relax NG spielt in der Praxis eine immer größere Rolle. XHTML 2.0, SVG 1.2 und WSDL 2.0 (Web Services Description Language) liegen bereits in der Strukturbeschreibungssprache Relax NG vor [WSDL]. Für eine ausführliche Beschreibung sei auf [Van der Vlist 2003] verwiesen. Die folgende Definition stellt das obige Beispiel in der kompakten nicht XML-konformen Beschreibung dar.

element dissertation {attribute typ {text}, element title{text}, element autor{text}, element jahr{xsd:integer}} }

Namensräume

XML-basierte Auszeichnungssprachen ermöglichen das Mischen von Daten- formaten aus verschiedenen Anwendungsbereichen. Damit die Eindeutigkeit der Elemente gewahrt werden kann, wird das Konzept der Namensräume verwendet, indem für jede XML-Anwendung ein Präfix definiert und einem eindeutigen Universal Resource Identifier (URI) zugeordnet wird [Namespaces]. Dadurch lassen sich beispielsweise die Elemente und in einer XML-Datei verwenden, ohne dass es zu Konflikten bei der Zuordnung zur XML-Anwendung kommt. Ein einziger Namensraum kann dabei als Standard-Namensraum (default-namespace) festgelegt werden. Bei dessen XML-Elementen kann dann auf die Angabe des Präfix verzichtet werden.

29 2.2 Extensible Markup Language

Im folgenden Beispiel sind zwei Namensräume definiert und eindeutigen URIs zugeordnet. Der Standard-Namensraum von “dissNS” und der Namensraum von “” können deshalb im Dokument gemischt werden.

XML-basierte Graphikstandards für interaktive Systeme

XML-Infrastruktur

In diesem Teil werden Standards in knapper Form aufgeführt, die zur Infra- struktur von XML gehören: Um Teile oder ganze XML-Anwendungen wieder zu verwenden, müssen diese adressiert werden können. Dazu wird der W3C- Standard XLink verwendet [XLink]. Mit diesem können Verweise (Hyperlinks) in XML beschrieben werden. Die Verweise zu externen Zielen (Targets) werden mit einem URI beschrieben. Lokale Ziele innerhalb der XML- Anwendung werden dagegen mit der XML Pointer Language (XPointer) adressiert [XPointer]. Wird die XML-Anwendung als Datenbank betrachtet, können Daten mit XQuery selektiert werden [XQuery]. Dabei ist XQuery die Anfragesprache für XML-Anwendungen und stellt das Pendant zur Structured Query Language (SQL) für relationale Datenbanken dar. Zur Adressierung von Teilen eines XML-Baumes wird dazu in der Anfrage die XML Path Language (XPath) eingesetzt [XPath]. Soll ein Teil oder eine gesamte externe XML-Anwendung in die aktuelle Anwendung mit einbezogen werden, wird XML Inclusions (XInclude) verwendet [XInclude]. Dabei wird der Verweis vom XML-Parser aufgelöst und mit dem referenzierten Inhalt ersetzt. Auftretende Ereignisse können mit XML Events modelliert und aufgelöst werden [XML Events].

2.2.3 Eigenschaften

XML-Dateien bestehen aus reinem Text und sind deshalb plattform- und gerä- teunabhängig. Die Entwickler können die Daten direkt als Text anzeigen und bearbeiten. Dies ist gegenüber Binärformaten ein Vorteil und spielt beispiels-

30 2.2 Extensible Markup Language weise bei der Fehlersuche und Wartung von Programmen eine Rolle. Dagegen benötigen Binärformate weniger Speicherplatz und können schneller verarbeitet werden. Der größere Speicherbedarf von Textformaten kann je- doch durch eine Komprimierung der Dateien auf dem Datenträger ausgegli- chen werden. Bei der Übertragung von Daten im Web kann das Hypertext Transfer Protocol (HTTP) seit der Version 1.1 automatisch diese Aufgabe übernehmen [HTTP].

Ein einheitliches “Scripting” aller XML-Anwendungen ist möglich. Dazu wird das (DOM) verwendet, das ebenfalls vom W3C ver- abschiedet wurde [DOM]. Es stellt eine Schnittstelle zum Objektmodell dar und ermöglicht den Zugriff auf Objekte und Attribute der XML-Elemente. Mit Scriptsprachen wie JavaScript, ECMAScript, etc. können diese manipuliert werden [JavaScript, ECMAScript]. Darüber hinaus gibt es DOM-Schnittstellen für alle gängigen Programmiersprachen zur Manipulation von XML [Harold et al. 2002]. Eine Alternative dazu stellt die Simple API for XML (SAX) dar [SAX]. Diese Schnittstelle steht ebenfalls für alle aktuellen Programmier- sprachen zur Verfügung [Brownell 2002].

Die Wiederverwendung der Inhalte von Datenformaten ist ein wichtiger Aspekt. Mit der Extensible Stylesheet Language (XSL) bzw. deren Trans- formationssprache Extensible Stylesheet Language Transformation (XSLT) werden Transformationen in andere Datenformate ermöglicht [XSL, XSLT]. Beispielsweise lassen sich damit Messwerte, die in einem XML-Datenformat gespeichert sind, in eine XHTML Tabelle oder ein SVG-Diagramm umformen. Zur Adressierung von Teilen des XML-Baumes werden in XSLT Ausdrücke in XPath verwendet.

Folgendes Stylesheet zeigt eine Transformation des auf Seite 26 angege- benen XML-Beispiels in XHTML. Dazu wird für jeden definierten Knoten im Quelldokument ein Template im Stylesheet angegeben, das die Umwandlung beschreibt. Im Beispiel wird der Wurzelknoten in ein rudimentäres XHTML-Do- kument umgewandelt, das nur aus einen Kopfteil (head) und dem zugehörigen Hauptteil (body) besteht. Der Titel des XHTML-Dokuments wird im Kopfteil festgelegt und über aus dem Quelldokument extrahiert. Der XSLT-Prozessor wird mit dem Befehl

31 2.2 Extensible Markup Language

im Hauptteil angewiesen andere Templates abzuarbeiten und deren Ausgabe an dieser Stelle zu integrieren.

<xsl:value-of select="dissNS:titel" />

(...)

Das Ergebnis der Transformation stellt das folgende Dokument dar. Dort sind die im XML-Dokument enthaltenen Daten in XHTML eingebettet.

Standardisierte Auszeichnungssprachen der Computergraphik für interaktive Systeme

Standardisierte Auszeichnungssprachen der Computergraphik für interaktive Systemek

Martin Rotard

2005

32 2.2 Extensible Markup Language

Die Baumstruktur von XML-Dokumenten kann von den meisten Anwendungen genutzt werden. Jedoch ist die von XML vorgegebene Syntax umfangreich an Start- und End-Tags. Insbesondere die schließenden Tags sind wegen der kontextfreien Grammatik teilweise redundant und könnten vereinfacht werden. Eine ausführliche Beschreibung der Eigenschaften XML-basierter Auszeich- nungssprachen befindet sich in [Harold et al. 2002].

2.3 Rastergraphik und Vektorgraphik

Die Konzepte von Rastergraphik und von Vektorgraphik unterscheiden sich bereits im Ansatz. Bei der Rastergraphik werden einzelne Pixel und deren Farbwerte betrachtet. Falls das Rastergraphik-Format über einen Alpha-Kanal verfügt, werden dabei auch Opazitäten einbezogen. Die Vektorgraphik be- trachtet sogenannte Formen (auch Objekte genannt), die durch Attribute ergänzt werden. Beispiele für Formen sind Rechteck, Ellipse, Polygon, Kurve, etc. denen Attribute wie Linien- und Füllfarbe, Strichstärke, Linienart, etc. zugeordnet werden. Darüber hinaus können bei Vektorgraphiken Animationen und Interaktionen definiert werden, welche die Formen und die Attribute verändern.

Vierfache Vergrößerung Vektorgraphik Rastergraphik

Abbildung 2.3: Vergleich der Vergrößerung einer Vektor- und einer Rastergraphik

Bei der Rastergraphik ist die Darstellungsgröße inhärent durch die Anzahl der gespeicherten Pixel festgelegt. Eine Verkleinerung oder Vergrößerung der Darstellungsgröße führt deswegen zu sichtbaren Artefakten (siehe Abbil-

33 2.3 Rastergraphik und Vektorgraphik dung 2.3). Das Anpassen und inhaltliche Ändern vorhandener Graphiken wird erschwert, da die ursprünglichen graphischen Formen durch die Raste- risierung verloren gehen. Eine Vektorgraphik kann im Gegensatz dazu ohne Qualitätsverlust in beliebiger Größe dargestellt werden, da deren mathema- tische Koordinaten gespeichert sind. Die Qualität ist ausschließlich durch die Auflösung des Ausgabemediums beschränkt. Deshalb eignen sich Vek- torgraphiken gut für Kleinstgeräte mit unterschiedlich Ausgabedimensionen.

2.4 Scalable Vector Graphics

Im Folgenden wird ein Überblick über die XML-basierte Beschreibungs- sprache Scalable Vector Graphics (SVG) für 2D-Vektorgraphik gegeben [SVG]. Diese wurde vom W3C erarbeitet und hat den Status einer W3C-Emp- fehlung (W3C-Recommendation) erreicht.

2.4.1 Zur Geschichte

Beim W3C wurden 1998 zwei unterschiedliche Vorschläge für die Beschreibung von Vektorgraphiken eingereicht: die Vektor Markup Language (VML) von den Firmen Autodesk, Macromedia, Microsoft und Visio, und die Precision Graphics Markup Language (PGML) von den Firmen Adobe, IBM, Netscape und Sun Microsystems [VML, PGML]. Beide Vorschläge haben seit- her keinen höheren Status beim W3C erreichen können. Das W3C hat aber im selben Jahr noch einen Entwurf mit Anforderungen an skalierbare Vek- torgraphiken veröffentlicht [Behme 2002]. An dieser ersten Version der W3C- Empfehlung für SVG im September 2001 haben sich viele Firmen beteiligt, u.a. Adobe, Apple, Canon, Corel, Hewlett-Packard, IBM, Kodak, Macromedia, Microsoft, Netscape, Quark, Sun Microsystems, Xerox.

2.4.2 Aufbau und Eigenschaften

Der SVG-Standard sieht Text sowie einfache geometrische Formen wie Rechtecke, Ellipsen, Linien, Polygone, Pfade (Kurven) etc. vor. Dabei können Attribute wie Füllfarbe, Deckkraft, Strichstärke, etc. in Parametern angegeben werden. Ein Beispiel einer SVG-Graphik ist in Abbildung 2.4 dargestellt. Die dort verwendeten Formen sind ein Auszug aus den SVG-Grundformen.

34 2.4 Scalable Vector Graphics

Abbildung 2.4: Auszug aus den SVG-Grundformen

Nach der Angabe der XML-Version im Prolog folgt im Tag "DOCTYPE" der Verweis auf die zugehörige DTD von SVG. Mit dem -Tag wird die SVG- Graphik eingeleitet. Dort wird als Attribut die Größe der Graphik und mittels “viewBox” die Auflösung des Koordinatensystems angegeben. In SVG werden unterschiedlichste Maßeinheiten unterstützt, wie mm, cm, inch, points, pixel etc.

SVG verwendet ein kartesisches Koordinatensystem, dessen Ursprung sich in der linken oberen Ecke der Zeichenbereichs befindet. Die positive X-Richtung geht nach rechts und die positive Y-Richtung nach unten. Die Spezifikation von SVG sieht vor, dass allen Elementen der Graphik ein Titel und eine Beschreibung über und <desc> hinzugefügt werden kann. An- schließend werden die elementaren SVG-Formen in der Graphik definiert. Beim Rechteck wird dazu der Bezugspunkt links oben sowie Breite und Höhe als Attribut angegeben. Beim Kreis ist eine Angabe der Position des Mittel- punkts und des Radius notwendig. Die Linie hat zwei Punkte P1 und P2 und beim Polygon werden die einzelnen Punkte in einer Punktliste als "x,y"-Koordi- natenpaar angegeben.</p><p><?xml version="1.0" ?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"></p><p><svg width="10cm" height="5cm" viewBox="0 0 800 400" version="1.1"> <title>Elementare Formen in SVG Schwarze Linie

35 2.4 Scalable Vector Graphics

Blauer Kreis

Gelb Rechteck

Roter Stern

Die Formatierung der Formen erfolgt ebenfalls mit Attributen. Im obigen Bei- spiel werden alle Linienfarben mit der Farbe schwarz gezeichnet (stroke="black"). Wichtig ist auch die Reihenfolge, in der die Formen gezeich- net werden. Die Darstellung wird mit dem Painter's Algorithm erzeugt, d.h. alle Formen werden sequenziell gezeichnet. Dies hat zur Folge, dass Formen durch weiter unten definierte Formen überdeckt werden können.

Abbildung 2.5: Text in SVG orientiert an einer kubischen Bézier Kurve

Ein großer Vorteil von SVG ist die Darstellung von Text in einer Graphik. Jeder Text wird in einem -Tag definiert und bleibt für eine Weiterverarbeitung erhalten. Damit ist es möglich, in SVG-Graphiken nach Textstellen zu suchen, Texte herauszukopieren und Texte algorithmisch zu indizieren (beispielsweise von Suchmaschinen im Web). Ein Beispiel ist in Abbildung 2.5 dargestellt. Im

36 2.4 Scalable Vector Graphics

Quellcode ist ein Pfad (hier eine kubische Bézier Kurve) im Definitionsbereich festgelegt. An diesem orientiert sich der Textverlauf über das -Tag. Für die Referenz auf den Pfad wird ein XLink verwendet.

Beispiel für Text entlang eines Pfades in SVG

Institut für Visualisierung und Interaktive Systeme

In SVG können mit elementaren Formen auch Gruppen gebildet werden. Diesen Gruppen können Attribute zugewiesen werden, die für alle Formen in der Gruppe gelten. SVG unterstützt einen standardisierten Farbraum bei dem Profile des International Color Consortium [ICC] verwendet werden können. Mit diesem Farbmanagement ist die reproduzierbare Farbdarstellung auf ver- schiedenen Ausgabegeräten gesichert.

Neben statischen Graphiken lassen sich auch dynamische Effekte erzielen. Dazu werden sogenannte Animationsknoten eingefügt, die zeit- oder ereignis- gesteuert sind, d.h. die sich nach einer vorgegebenen Zeit oder beim Eintreten eines definierten Ereignisses, beispielsweise bei einem Mausklick, starten. Neben den Attributen von Formen können auch Bewegungen, Farben, Trans- formationen, etc. animiert werden. Das in SVG integrierte Animationsmodell ist an den W3C Standard Synchronized Multimedia Integration Language (SMIL)

37 2.4 Scalable Vector Graphics angelehnt [SMIL]. Es ist daneben möglich, SVG-Graphiken per Skript zu steuern (über ECMAScript, JavaScript etc.). Alle Elemente der SVG-Graphik sind über das Document Object Model (DOM) adressierbar.

SVG sieht Filter-Effekte vor, mit denen Graphiken durch Farb-, Überblend-, Wisch-, Mischeffekte, etc. manipuliert werden können. Auch Beleuchtungs- effekte sind über die Definition von Lichtquellen möglich. Diese Filter können beliebig kombiniert und vielseitig konfiguriert werden. Rastergraphiken mit ver- schiedenen Formaten lassen sich in das SVG-Format integrieren oder daraus referenzieren. Dabei werden diese Graphiken in die Ausgabe eingebettet. Bei Bedarf können darauf auch beliebige Transformationen angewendet werden. Für eine ausführlichere Betrachtung sei auf [SVG], [Watt et. al 2002], [Duce et al. 2001] oder [Behme 2002] verwiesen.

2.4.3 Modularisierung: SVG Tiny und SVG Basic

In der Spezifikation von SVG 1.0 bildet die DTD eine einzelne monolithische Einheit. Dies stellte sich als Nachteil heraus, als der Bedarf nach Darstel- lungen von SVG auf mobilen Geräten wie Personal Digital Assistants (PDA) und Mobiltelefonen wuchs. Die Realisierung der Standards auf diesen Gerä- ten gestaltet sich schwieriger als auf Arbeitsplatzrechnern, da mobile Geräte in der Regel über weniger Hauptspeicher, niedrigere Prozessortakte, kleinere Farbunterstützung und niedere Netzwerkbandbreite verfügen. Daher wurde in der darauf folgenden Version (SVG 1.1) die DTD in kleine, flexible und funktio- nale Bausteine modularisiert.

SVG

SVG-Basic

SVG-Tiny

Abbildung 2.6: Profile von SVG

38 2.4 Scalable Vector Graphics

Zwei Profile wurden von der SVG-Arbeitsgruppe des W3C im Mobile SVG- Profile definiert [SVG Mobile]. SVG Tiny zielt auf stark eingeschränkte Geräte ab und unterstützt unter anderem keine Filter, Gradienten, Füllmuster, Scrip- ting und Beschneidungspfade. Es sind aber alle Grundformen, die zugehö- rigen wesentlichen Attribute und Animationen enthalten. SVG Basic entspricht weitgehend dem vollen SVG-Profil und hat daher höhere Anforderungen an die Leistung der Geräte. Es wurde aber auf komplexe rechenintensive Filter und erweiterte Attribute verzichtet. Um die Interoperabilität der definierten Pro- file sicherzustellen, ist SVG Tiny eine echte Untermenge von SVG Basic und dieses Profil selbst eine echte Untermenge von SVG. Dies wird in Abbil- dung 2.6 verdeutlicht.

2.4.4 Abgrenzung zu anderen 2D-Vektorgraphikformaten

2D-Vektorgraphiken werden schon seit vielen Jahren in Anwendungen aus den Bereichen Computer Aided Design (CAD), Computer Aided Manufactu- ring (CAM), Computer Aided Engineering (CAE), etc. eingesetzt. Viele proprie- täre Vektorgraphikformate wurden für diesen speziellen Einsatzbereich de- finiert. Nur wenige Formate fanden einen breiteren Einsatz. Exemplarisch werden im Folgenden die Formate Computer Graphics Metafile und Macrome- dia Shockwave Flash kurz beschrieben und von SVG abgegrenzt.

2.4.4.1 Computer Graphics Metafile

Die erste Spezifikation des Formats Computer Graphics Metafile (CGM) vom CGM Open Consortium wurde 1987 zu einem ISO-Standard [CGM Open]. Das Ziel war, ein Austausch- und Druck-/Plotformat für CAD-Anwendungen und graphische Systeme zu definieren. Die neueste Version von 1999 kennt über 100 verschiedene graphische Elemente, ermöglicht interaktive Graphiken und hat Hyperlinks. CGM definiert Applikationsprofile für spezifische Anwendungsbereiche, in dem Elemente, Parameter und Optionen festgelegt sind. Das erweiterte Profil WebCGM wurde vom W3C und CGM Open Con- sortium definiert, um die Austauschbarkeit der Graphiken über das Web zu ge- währleisten [WebCGM].

39 2.4 Scalable Vector Graphics

SVG und WebCGM haben eine gleichwertige Funktionalität bei der Einbettung von Rastergraphik und die Beschreibung von einfachen geometrischen Formen, Text und Clipping. Ein detaillierter Vergleich der beiden Formate ist in [Henderson et al. 2003] zu finden. Dieser kommt zu dem Schluss, dass beide Standards auf verschiedene Einsatzbereiche abzielen. WebCGM ist durch sei- nen industriellen Ursprung bei Projekten mit hoher Detailkomplexität, großen Datensätzen und häufigen Überarbeitungen besonders für technische Zeich- nungen geeignet. Von Nachteil ist, dass CGM nicht auf XML basiert. SVG dagegen ist als XML-Anwendung in andere XML-Anwendungen integrierbar, verfügt über Filtereffekte und Animationen lässt sich durch SMIL oder Script- sprachen steuern. Daher ist SVG für den Einsatz in den Bereichen Informa- tionsvisualisierung, Webgraphik und Benutzungsoberflächen besser geeignet.

2.4.4.2 Macromedia Shockwave Flash

Das erste Vektorgraphik-Format, das Animation und Interaktion für die Benutzer im Web unterstützte, war Shockwave Flash (SWF). Das Format und das Autorenwerkzeug dazu werden von Macromedia weiterentwickelt. 1998 wurde erstmals die Spezifikation des Formats veröffentlicht, um den Export in anderen Graphikprogrammen zu ermöglichen. SVG und Shockwave Flash konkurieren im Einsatzbereich. Durch die frühe Integration in die Web-Browser Mitte der 90er Jahre des letzten Jahrhunderts hat Shockwave Flash eine große Verbreitung gefunden.

Shockwave Flash liegt im Gegensatz zu SVG in einem Binärformat vor und ist nicht XML-basiert. Damit wird die Generierung von Graphiken aus einer Skriptsprache erschwert. Rastergraphiken werden bei Shockwave Flash in das Binärformat integriert. Bei SVG können diese von einer beliebigen erreich- baren Stelle im Web referenziert oder auch in einem CDATA-Abschnitt einge- bettet werden. Im Gegensatz zu SVG ist Shockwave Flash ein Multimedia- Format, das auch Audio- und Video-Formate kennt. In SVG ist jedoch ein Verweis auf eine Audio- oder Video-Datei möglich, die dann von einem anderen Player abgespielt wird. Der W3C Standard SMIL ermöglicht dabei eine Integration von Audio, Video, Graphik und Text. Einen ausführlichen Überblick über die Unterschiede von SVG und Shockwave Flash ist unter [Neumann 2002] zu finden.

40 2.5 Mathematical Markup Language

2.5 Mathematical Markup Language

Die Mathematical Markup Language (MathML) ist eine XML-Anwendung, um mathematische Inhalte zu beschreiben [MathML]. Diese vom W3C definierte Beschreibunssprache hat den Status einer W3C-Empfehlung.

2.5.1 Zur Geschichte

Die zunehmende Ausbreitung des World Wide Webs Mitte der 90er Jahre des letzten Jahrhunderts führte auch dazu, dass immer mehr wissenschaftliche Dokumente und Lehrmaterialien über dieses Medium verfügbar wurden. Es bestand anfangs aber nur die Möglichkeit, Inhalte in HTML zu veröffentlichen. Daher wurden mathematische Formeln und Ausdrücke als Rastergraphiken erstellt und an den entsprechenden Stellen eingefügt. Die Nachteile dieses Vorgehens liegen darin, dass die Wiederverwendung von Formeln als Rastergraphik sehr einschränkt und ein einheitliches Aussehen, bezogen auf die Skalierung und Integration in den umliegenden Inhalt, nicht gewährleistet wird. Zudem muss bei jeder Änderung eines mathematischen Ausdrucks die zugehörige Rastergraphik erneut generiert werden. Mitarbeiter von Wolfram Research schlugen daher eine XML-basierte Beschreibungssprache für ma- thematische Ausdrücke vor, was viele der angesprochenen Probleme löste. Die erste Version von MathML wurde 1998 als W3C-Empfehlung verabschie- det.

2.5.2 Aufbau und Eigenschaften

Mit MathML kann sowohl die Darstellung eines mathematischen Ausdrucks, als auch dessen Semantik (mathematischen Zusammenhänge) beschrieben werden. Diese beiden Ebenen werden durch die Presentation Markup und die Content Markup repräsentiert. Aufgabe des Presentation Markup ist, die visu- elle Darstellung eines Ausdrucks festzulegen. Die Content Markup definiert dagegen die Semantik des Ausdrucks, die das Wiederverwenden der Doku- mente ermöglicht, beispielsweise in Computer-Algebra-Systemen. Diese beiden Ebenen werden im Folgenden am Beispiel des mathematischen Aus- drucks ab2 erläutert.

41 2.5 Mathematical Markup Language

Presentation Markup Content Markup a + a b b 2 2

Bei der Beschreibung der Presentation Markup bleibt unklar, ob es sich bei den Parametern a und b um Vektoren, Funktionen, etc. handelt. Wenn man unterstellt, dass primitive Datentypen gemeint sind, ist immer noch offen, ob es integer- oder real-Werte sind. Dies kann bei der Content Markup genau spezifiziert werden. Um für einen mathematischen Ausdruck sowohl die Dar- stellung als auch die Semantik zu beschreiben, wird ein so genanntes „se- mantic mapping“ verwendet. Dazu wird zuerst die Darstellung des Ausdrucks in der Presentation Markup beschrieben und anschließend mit der Content Markup annotiert. Dies ist in folgendem Beispiel dargestellt:

a + b 2 a

42 2.5 Mathematical Markup Language

b 2

Für die Annotation lassen sich beliebige XML-Beschreibungen verwenden. Darüber hinaus gibt es auch die Möglichkeit, Beschreibungen hinzuzufügen, die nicht auf XML basieren, z.B. ein mathematischer Ausdruck in LaTeX oder eine natürlichsprachliche Anmerkung.

2.5.3 Abgrenzung zu anderen Formaten für mathematische Ausdrücke

Um mathematische Ausdrücke darzustellen, wurden Beschreibungssprachen definiert, die sich in eine visuelle Repräsentation überführen lassen. In Computer-Algebra-Systemen ist dagegen die semantische Beschreibung ma- thematischer Ausdrücke wichtig, um mathematische Zusammenhänge algo- rithmisch erschließen und so Berechnungen ausführen zu können. Im Folgenden werden mathematische Ausdrücke in OpenMath und LaTeX kurz beschrieben und von MathML abgegrenzt.

2.5.3.1 OpenMath

OpenMath ist eine XML-basierte Auszeichnungssprache der OpenMath Socie- ty, um mathematische Ausdrücke semantisch zu beschreiben [OpenMath]. Diese Sprache wurde entwickelt, um mathematische Inhalte zwischen Compu- ter-Algebra-Systemen auszutauschen. Ihre Möglichkeiten zur semantischen Beschreibung sind umfassender als die der MathML Content Markup. In OpenMath lässt sich auch die Semantik von mathematischen Symbolen wie beispielsweise der Wurzeloperation beschreiben. MathML bietet diese Möglichkeit nicht, sondern definiert einen Satz der gängigsten Symbole vorab. In MathML kann jedoch ein Symbol referenziert und verwendet werden, das in OpenMath definiert wurde.

43 2.5 Mathematical Markup Language

Für OpenMath gibt es keine festgelegte visuelle Darstellung. Deshalb müssen alle beschriebenen Ausdrücke für die visuelle Repräsentation in andere Nota- tionen transformiert werden. Dafür eignen sich besonders die MathML Presentation Markup und LaTeX, für die es bereits XSLT-Stylesheets gibt. Für die Speicherung eines OpenMath Ausdrucks bietet sich das „semantic map- ping“ von MathML besonders an, da damit die Präsentation des Ausdrucks in der MathML Presentation Markup und die semantische Beschreibung als An- notation in OpenMath gruppiert werden können.

Die Existenz von zwei verschiedenen XML-basierten Sprachen für die seman- tische Beschreibung von mathematischen Ausdrücken wird von den Entwick- lern von MathML und OpenMath nicht negativ gesehen. Die „Entwicklerge- meinden“ überlappen sich sogar teilweise und sehen einen Synergieeffekt der beiden Sprachen zusammen.

2.5.3.2 LaTeX

LaTeX ist ein Softwarepaket von Leslie Lamport, das die Benutzung des Text- satzprogramms TeX von Donald Ervin Knuth mit Hilfe von Makros vereinfacht. Da LaTeX für das komplexe (Druck-)Seitenlayout entwickelt wurde, lassen sich mathematische Ausdrücke mit LaTeX zwar darstellen, aber nicht seman- tisch beschreiben. Sowohl für mathematische Ausdrücke in der MathML Presentation Markup als auch in OpenMath gibt es Konverter für LaTeX-Dar- stellungen. Auch die Transformationen von mathematischen Ausdrücken aus LaTeX in die MathML Presentation Markup ist möglich.

2.6 Extensible 3D

Extensible 3D (X3D) ist eine Beschreibungssprache für dreidimensionale Computergraphikszenen, insbesondere für deren Geometrie, Beleuchtung, Animationen und Interaktionsmöglichkeit [X3D]. Diese wurde vom Web3d- Consortium mit Unterstützung des W3C als ISO-Standard und Nachfolger der Virtual Reality Modeling Language (VRML) etabliert [Web3D, VRML].

44 2.6 Extensible 3D

2.6.1 Zur Geschichte

Silicon Graphics Incorporated (SGI) hatte 1989 im Projekt „Scenario“ das Ziel, eine Infrastruktur für 3D-Graphik-Anwendungen zu erstellen, die als Entwick- lungsumgebung von interaktiven, verteilten 3D-Anwendungen verwendet werden konnte. Das erste Produkt war 1992 die objektorientierte 3D-Klassen- bibliothek für C und C++, das so genannte „Iris Inventor 3D Toolkit“.

Auf der ersten World Wide Web Konferenz 1994 wies Tim Berners-Lee auf die Notwendigkeit hin, das Web mit „Virtual Reality“ anzureichern. Auf dieser Kon- ferenz wurde auch ein Entwurf zur ersten Version von VRML präsentiert, der auf dem „Iris Inventor 3D Toolkit“ basierte. VRML hatte nur rudimentäre Funktionalität und konnte beispielsweise nur statische Szenen beschreiben. Daher wurde bald eine zweite Version von VRML etabliert, die auch VRML 97 genannt wird. Damit konnten dynamische Szenen und Interaktionen be- schrieben werden. Diese Version wurde auch als ISO-Standard verabschie- det. X3D wurde mit Unterstützung des W3C als Nachfolgeformat vom Web3d- Consortium vorgeschlagen. Das Web3d-Consortium besteht aus Firmen wie 3Dlabs, Autodesk, France Telecom, Hewlett-Packard, NASA, nVIDIA, Sun Microsystems, etc. Im Dezember 2004 wurde X3D ebenfalls zu einem ISO- Standard.

2.6.2 Aufbau und Eigenschaften

Mit X3D können dynamische 3D-Computergraphikszenen beschrieben werden. Die Funktionalität des Standards ist modular in Komponenten geglie- dert. Dies ermöglicht eine erweiterbare Architektur und einen flexiblen Einsatz der Szenen. Für jede Szene müssen in einem Profil die verwendeten Komponenten angegeben werden. Ein MPEG-4 Profile ermöglicht darüber hinaus das „Broadcasting“ von Szenen und die Darstellung auf mobilen Gerä- ten [Blais et. al. 2002].

Der Standard von X3D sieht die Beschreibung von dreidimensionaler polygo- naler Geometrie, hierarchischer Transformation, Beleuchtung und Materialien vor. Darüber hinaus lassen sich Animationen und auch Morphing beschreiben. Benutzerinteraktionen werden mit der Maus über „Picking“ und „Dragging“ so-

45 2.6 Extensible 3D wie mit der Tastatur ermöglicht. Mit Sensoren können die Aktionen des Benutzers registriert und vorher festgelegte Ereignisse ausgelöst werden. Auch für die Animation sind zeitgesteuerte Ereignisse definiert.

Das Navigationskonzept von X3D beinhaltet verschiedene Betrachtungs- punkte und das Bewegen in der Szene mit Kollisionserkennung. Die Ansteue- rung der Szene erfolgt in X3D über das Scene Access Interface (SAI) oder über das DOM.

X3D unterstützt verschiedene Formate für die Beschreibung der Szenen. Neben dem XML-basierten Format wurde auch eine VRML-Syntax spezifiziert. Darüber hinaus kann die Szene in einem Binärformat vorliegen, das äquiva- lent zum XML-Format ist. Das Binärformat lässt sich sich schneller parsen, hat eine geringere Menge an Daten und kann damit schneller im Netzwerk über- tragen werden [Götz 2002].

Abbildung 2.7: Visualisierung der Erdkugel in X3D

Im folgenden Beispiel wird eine Visualisierung der in Abbildung 2.7 dargestell- ten Erdkugel beschrieben. Dazu wird eine Kugel in X3D in der XML-Syntax modelliert und mit einer Graphik texturiert, die eine schematische Topographie der Kontinente zeigt.

46 2.6 Extensible 3D

Die Erdkugel kann in X3D in der VRML Syntax wie folgt beschrieben werden.

#X3D V3.0 utf8 #PROFILE Immersive META "description" "Visualization of the earth"

Shape { appearance Appearance { texture ImageTexture { url [ "earth.jpg" ] } } geometry Sphere { } }

2.6.3 Abgrenzung zu anderen 3D-Computergraphikformaten

Insbesondere im 3D-CAD Umfeld existieren viele proprietäre Speicherformate, deren Strukturen nicht offen gelegt sind. Im Folgenden wird X3D mit der Virtu- al Reality Modeling Language und mit offenen Austauschformaten wie dem Drawing Interchange/Exchange Format und dem AutoCAD Drawing Format verglichen.

2.6.3.1 Virtual Reality Modeling Language

Der Szenengraph von X3D besitzt gegenüber der Virtual Reality Modeling Language (VRML) weitere neue Knoten und Datentypen. Darüber hinaus

47 2.6 Extensible 3D bietet der X3D-Standard die Möglichkeit, Shaderprogramme in die Szenen- beschreibung einzubinden, die beispielsweise Texturen algorithmisch erzeugen. VRML besitzt einen monolithischen Aufbau, wodurch jedes Darstel- lungswerkzeug den ganzen Standard implementieren muss. Dies führte immer wieder zu inkonsistenten Umsetzungen und damit zu ungleichen Darstel- lungen der Szene. X3D besteht ausschließlich aus modularen Komponenten, was eine Spezialisierung der Fähigkeiten der Darstellungswerkzeuge ermöglicht. Durch die Beschreibung in XML integriert sich X3D besser in andere XML-basierte Sprachen. Das Parsen der Beschreibung von X3D ist mit den anderen XML-basierten Beschreibungssprachen identisch.

2.6.3.2 Drawing Interchange Format und AutoCAD Drawing

Die Formate Drawing Interchange/Exchange Format (DXF) und AutoCAD Drawing (DWG) wurden von der Firma Autodesk entworfen. Beide Formate werden von vielen 3D-CAD Anwendungen unterstützt, deshalb eignen sie sich gut für den Austausch unter verschiedenen Anwendungen. Die Dokumentati- on des DXF-Formats ist frei verfügbar, die des DWG-Formats nicht. Daher hat sich die Initiative Open Design Alliance gebildet, um ein offenes Format OpenDWG zu spezifizieren und freie Programmbibliotheken für das Lesen und Schreiben des Formats zu entwickeln [Open Design Alliance]. Im Gegen- satz zu X3D gibt es bei diesen beiden Formaten nur eine Binär-Repräsentati- on der Daten. Diese weist Nachteile bei der Generierung von Szenen mit Skripten und bei der Integration von Modellen in ein Umfeld, das ausschließ- lich XML-basierte Sprachen verwendet, auf. Weiter bieten diese Formate keine Unterstützung für multimediale Anwendungen, da keine Animationen vorgesehen sind.

2.7 Weitere XML-basierte Graphikstandards

Im Folgenden werden noch zwei weitere XML-basierte Graphikstandards kurz erläutert, die für die zukünftige Entwicklung XML-basierter Graphik besonders relevant sind. Die Synchronized Multimedia Integration Language ermöglicht zeitsynchronisierte interaktive Animationen und mit XForms lassen sich elektronische Formulare modellieren. Auf die Beschreibung weiterer Graphik-

48 2.7 Weitere XML-basierte Graphikstandards standards wird an dieser Stelle verzichtet, da Sie meist nur Teilaspekte von XML-basierter Graphik beschreiben.

2.7.1 Synchronized Multimedia Integration Language

Die Synchronized Multimedia Integration Language (SMIL) ist eine XML-ba- sierte Beschreibungssprache für zeitsynchronisierte interaktive multimediale Inhalte, mit der die Ablaufsteuerung einer multimedialen Präsentation modelliert werden kann [SMIL]. SMIL wurde vom W3C erarbeitet und hat den Status einer W3C-Empfehlung seit Juni 1998. Über SMIL können multimediale Elemente wie beispielsweise Audio, Video, Text und Grafik sequenziell und parallel angesteuert werden. Das Animationsmodell von SVG basiert auf SMIL.

SMIL unterstützt auch die automatische Auswahl einer Sprachversion und die Anpassung an die aktuelle Auflösung des Ausgabegeräts. Für Multimedia- Streams können verschiedene Übertragungsbandbreiten vorgesehen werden. Dafür wird für jede Bandbreite eine separate Version des Streams definiert. Damit kann beispielsweise für die Darstellung einer bestimmten Präsentation auf einem Mobiltelefon mit geringer Bandbreite ein stark komprimiertes Video mit niedriger Auflösung vorgesehen werden, wohingegen auf einen Arbeitsplatzrechner mit hoher Bandbreite ein hochauflösendes Video über- tragen wird.

Das folgende Beispiel beschreibt eine multimediale Präsentation, die zuerst ein kurzes Musikstück abspielt und danach in Begleitung einer anderen Musik eine Graphik eingeblendet.

49 2.7 Weitere XML-basierte Graphikstandards

Ein typischer Einsatzbereich von SMIL ist die Präsentation von Vortragsmit- schnitten. Die Vortragsfolien werden synchron zu einem Video eingeblendet. Darüber hinaus ist es in SMIL möglich, Ressourcen zu verknüpfen. Dabei können Vortragsfolien und das Video um eine Navigation für die Steuerung des Benutzers ergänzt werden. Über die Navigation können vorab definierte Zeitpunkte in der Präsentation aufgerufen werden, wodurch das Video an der entsprechenden Stelle abgespielt wird und die dazugehörigen Vortragsfolien eingeblendet werden.

2.7.2 XForms

Für die Modellierung von elektronischen Formularen wurde im Oktober 2003 die Beschreibungssprache XML Forms (XForms) vom W3C verabschiedet [XForms]. Mit XForms kann die Darstellung von Formularen getrennt von de- ren Formularmodell beschrieben werden. Die Darstellung und das Modell sind wiederum von den Daten getrennt.

HTML bietet auch eine rudimentäre Möglichkeit der Modellierung von Formu- laren. Mit XForms können komplexere Formulare beschrieben werden. Die Möglichkeiten reichen von der Prüfung des Datentyps von Benutzereingaben bis zum interaktiven Aktivieren/Deaktivieren von Formularfeldern in Abhängig- keit von einem Eingabewert eines anderen Formularfeldes.

Abbildung 2.8: Mit XForms beschriebenes Formular

50 2.7 Weitere XML-basierte Graphikstandards

Das folgende Beispiel zeigt ein HTML-Dokument mit zwei Eingabefeldern für den Vor- und Nachnamen einer Person und einen Button zum Übertragen der Daten an den Server (Abbildung 2.8). Dazu wird zuerst ein Schema für die Da- ten definiert, das für die Datenwerte aus den Eingaben des Benutzers in die Formularfelder verwendet wird. Die Kopplung an HTML ist hier nur beispielhaft dargestellt, denn XForms wurde so spezifiziert, dass diese auch unabhängig von HTML in anderen Beschreibungssprachen verwendet werden können und dass für die Interaktionen kein Skripting notwendig ist.

Vorname

Nachname

Suchen

51 2.8 Zusammenfassung

2.8 Zusammenfassung

In diesem Kapitel wurden wichtige Grundlagen XML-basierter Graphik vorge- stellt. Dazu wurden der Begriff standardisierte Auszeichnungssprache der Computergraphik und Web-Standards erläutert, die Techniken von XML ver- anschaulicht, sowie ein Überblick über die graphischen Standards SVG, MathML, X3D, SMIL und XForms gegeben.

Die vorgestellten Standards sind zur plattformunabhängigen, interaktiven Beschreibung von Graphik geeignet und trennen dabei die Inhalte von deren Darstellungen. Sie sind außerdem für eine möglichst breite Nutzergruppe zu- gänglich und haben gegenüber Rastergraphiken Vorteile in der Erstellung, Handhabung und auflösungsunabhängigen Darstellung. Durch spezifizierte Profile sind SVG, X3D und SMIL auch auf leistungsschwächeren Geräte- klassen wie mobilen Geräten darstellbar.

XML-basierte Graphiken können mit freien und proprietären Werkzeugen be- arbeitet und angezeigt werden. Web-Browser, die das Anzeigen der Graphiken nicht unterstützen, benötigen dazu spezielle PlugIns. Durch die Etablierung XML-basierter Graphik nimmt deren Unterstützung jedoch stetig zu.

Die Werkzeuge sind noch sehr speziell auf einen XML-basierten Standard ausgerichtet und beherrschen häufig nur eine Untermenge des jeweiligen Standards. Selten wird die volle Funktionalität unterstützt. Außerdem werden die einzelnen Standards noch immer isoliert betrachtet und können in der Regel nicht ineinander verschachtelt verwendet werden. Dies ist jedoch unab- dingbar, um einen breiten Einsatz zu gewährleisten [Rotard et al. 2002a].

Für die Autoren von Inhalten ist es wichtig, dass sie sich auf die semantische Bearbeitung konzentrieren und von den Vorzügen XML-basierter Graphik pro- fitieren können, ohne sich um den technischen Hintergrund des Speicher- formats kümmern zu müssen. Dazu ist es entscheidend, dass Werkzeuge die Bearbeitung und Anzeige mehrerer Standards vollständig abdecken. Erst wenn dies möglich ist, können die jeweiligen Eigenschaften XML-basierter Graphik kombiniert werden und sich sinnvoll ergänzen [Geroimenko et al. 2004]. Dies würde auch eine Weiterentwicklung der Stan-

52 2.8 Zusammenfassung dards hervorrufen. Beispielsweise könnte damit in einem mathematischen Ausdruck ein Operator verwendet werden, dessen Aussehen mit SVG festge- legt wurde oder in einer X3D-Graphik eine Textur mit SVG definiert werden.

Um die Weiterentwicklung XML-basierter Graphiken aufeinander abzustimmen und deren Kombinierbarkeit zu fördern, wurde vom W3C im Oktober 2004 eine Arbeitsgruppe gebildet. Deren Ziel ist es, mit Compound Documents Formats (CDF) die textuellen Inhalte mit XHTML, 2D-Vektorgraphiken mit SVG, Steuerung von Multimediaströmen mit SMIL und Formulare mit XForms zu integrieren [CDF, Ferraiolo 2004].

SVG wird um die SVG's XML Binding Language (sXBL) erweitert werden, die Präsentation und Verhalten von Elementen definieren kann, welche außerhalb des SVG Namespaces liegen [sXBL]. Die hardwarebeschleunigte Darstellung von Vektorgraphik insbesondere auf mobilen Geräten wird durch die Stan- dards Open Vector Graphics (OpenVG) und Open Graphics Language for Embedded Systems (OpenGL|ES) der Khronos Group vorangetrieben. [OpenVG, OpenGL|ES].

53 2.8 Zusammenfassung

54 3 XML-basierte Graphik in Benutzungsoberflächen

3 XML-basierte Graphik in Benutzungsoberflächen First we thought the PC was a calculator. Then we found out how to turn numbers into letters with ASCII — and we thought it was a typewriter. Then we discovered graphics, and we thought it was a television. With the World Wide Web, we've realized it's a brochure.

Douglas Adams (1952 – 2001)

3 XML-basierte Graphik in Benutzungsoberflächen

Graphische Benutzungsoberflächen sind die derzeit am häufigsten verwende- te Schnittstelle zwischen Mensch und Computer. XML-basierte Graphiken können in diese Benutzungsoberflächen integriert werden. In den Benutzungs- oberflächen der Projekte KDE und GNOME können bereits Icons und Bild- schirmhintergründe mit SVG beschrieben werden [KDE, GNOME]. Die XML- based User Interface Language (XUL) ist eine Beschreibungssprache für graphische Benutzungsoberflächen im Mozilla Projekt [XUL, Mozilla]. Es gibt auch weitergehende Bestrebungen, die gesamte Benutzungsoberfläche mit XML und die Interaktionselemente (Widgets) mit XML-basierten Graphiken zu beschreiben. Auch die Benutzungsoberfläche Avalon der nächsten Generation des Microsoft Windows-Betriebssystems (Codename Vista) setzt auf XML-ba- sierte Graphik [Vista].

Die Vorteile von XML-basierten Graphiken in Benutzungsoberflächen liegen in der Skalierbarkeit ohne Qualitätsverlust, in der algorithmischen Generier- barkeit und in der flexiblen Erweiterbarkeit. Bei der Skalierung der Benutzungsoberflächen können neben der angepassten Darstellung der In- halte auch die Widgets in ihrer Größe verändert werden. Ein weiterer Vorteil ist die einfache Weiterverarbeitung der XML-basierten Beschreibung der Benutzungsoberfläche. Beispielsweise kann der Zugang für blinde Menschen erleichtert werden, indem Screenreader Zugriff auf alle textuellen Informa-

55 3 XML-basierte Graphik in Benutzungsoberflächen tionen bekommen, die auf dem Bildschirm angezeigt werden. Graphische In- formationen können dabei semantisch mit Alternativ-Texten veranschaulicht werden. Schließlich ist es möglich, diese XML-basierte Graphiken auf einem taktilen graphikfähigen Ausgabegerät in tastbarer Form anzuzeigen. Verfahren dazu werden in Kapitel 5 präsentiert.

In den folgenden Abschnitten werden Konzepte für die Modellierung von graphischen Benutzungsoberflächen mit XML-basierter Graphik vorgestellt. Dazu wird zunächst auf XML-basierte Widgets und Widget-Sets eingegangen. Darauf aufbauend wird ein Konzept für zoombaren Benutzungsoberflächen präsentiert. Anschließend werden Verfahren für die Darstellung von Benutzungsoberflächen mit XML-basierter Graphik auf entfernten Rechnern beschrieben. Einige dieser Konzepte wurden bereits in [Rotard 2004g] und [Rotard et al. 2005b] veröffentlicht.

3.1 Vorausgegangene Arbeiten

Bereits in der frühen Phase des Webs wurden im Knowledge Systems Labo- ratory der Stanford University erstmals komplexe interaktive Anwendungen in Web-Browsern untersucht [Rice et al. 1996]. Dabei handelt es sich um ein Werkzeug für die Bearbeitung von Ontologien in HTML. Der Web-Browser wird in diesem Kontext nicht nur für die Darstellung der graphischen Benutzungsoberfläche verwendet, sondern auch für die Online-Hilfen und Gui- ded-Tours. Bei der Benutzerinteraktion auftretende Ereignisse wurden vom Web-Browser auf dem Client an den Server für die Verarbeitung mit Hilfe des Common Gateway Interface (CGI) weitergeleitet [CGI]. Der Server generierte daraufhin als Ergebnis der Ereignisverarbeitung eine neue graphische Benutzungsoberfläche mit HTML, die an den Web-Browser für die Darstellung gesendet wird.

Ein wichtiger Interaktionsstil in graphischen Benutzungsoberflächen ist die Di- rekte Manipulation. Im Web-Browser wurde dies erst mit der Einführung von DHTML möglich [DHTML]. Eine Anwendung, die Direkte Manipulation im Web-Browser einsetzt, ist die Notizenverwaltung dotNotelets [Rees 2002]. Da- mit können einzelne Notizen erstellt, bearbeitet und im Browserfenster beliebig

56 3.1 Vorausgegangene Arbeiten positioniert werden. Die Notizen können sich überlappen und eine Sortierung in der Tiefe haben.

Beschreibungssprachen für graphische Benutzungsoberflächen ermöglichen generell die Generierung einer graphischen Repräsentation. Mit der XML-ba- sed User Interface Language (XUL) des Mozilla Projekts lassen sich graphische Benutzungsoberflächen beschreiben und Widgets definieren, die mit der Cascading Stylesheet Language (CSS) formatiert werden [XUL]. Die Benutzungsoberflächen werden dort mit der Gecko Layout Engine dargestellt [Gecko]. Die Kommunikation der Benutzungsoberfläche mit der Anwendungs- logik findet mit JavaScript statt.

Eine weitere Beschreibungssprache für graphische Benutzungsoberflächen ist die User Interface Markup Language (UIML) des Polytechnic Institute der Vir- ginia State University [UIML]. Aus der Beschreibung in UIML können an- schließend Benutzungsoberflächen in Java AWT/Swing, HTML, Wireless Markup Language (WML), C++, .NET, Visual Basic, QT, etc. generiert werden. Insbesondere für SVG gibt es das SVG Programmers' Application Resource Kit (SPARK) und die Dynamic Scalable Vector Graphics (dSVG) als Beschreibungssprachen, mit denen sich die Widgets und die Benutzungsober- fläche XML-basiert beschreiben lassen [SPARK, dSVG]. Die graphische Benutzungsoberfläche Avalon des künftigen Microsoft Windows-Betriebssys- tems verwendet die Beschreibungssprache eXtensible Application Markup Language (XAML) [Vista]. Diese ist der Beschreibung der Geometrie von SVG ähnlich, unterstützt jedoch auch Widgets als Geometrieobjekte.

Herkömmlichen Benutzungsoberflächen können so erweitert werden, dass sich ihre Darstellungselemente in ihrer Größe verändern lassen. Unter Verwendung eines Zooms wird die Darstellung der Widgets und des Inhalts in der Größe skaliert. Die ersten größeren Projekte in diesem Bereich waren Pad bzw. Pad++ [Perlin et al. 1993, Bederson et al. 1994]. Daraus entstanden in den Projekten Jazz und Piccolo umfangreiche Baukästen für zoombare Benutzungsoberflächen [Bederson et al. 2000, Bederson et al. 2004]. Jef Ra- skin hat das OpenSource-Projekt The Humane Environment (THE) initiiert, um neue Konzepte für zoombare graphische Benutzungsoberflächen zu entwi- ckeln [THE, Raskin 2000]. Von Sun Microsystems wurde das freie Projekt

57 3.1 Vorausgegangene Arbeiten

Looking Glass gefördert, das ein Fenstersystem mit dreidimensionaler Darstel- lung der Fenster entwickelt [Looking Glass]. Eine nicht lineare Darstellung von Benutzungsoberflächen wurde schon 1986 von George W. Furnas als Fischaugen-Effekt vorgestellt [Furnas 1986]. Dabei werden Objekte in der Mit- te des Bildschirms groß und unverzerrt dargestellt, Objekte an den Rändern dagegen klein und verzerrt. In graphischen Benutzungsoberflächen ist dieser Effekt im Allgemeinen nicht vorteilhaft, da Menü-, Symbol- und Statusleisten meist an den Rändern des Fensters angeordnet sind und so in der Regel verzerrt werden. Gegenüberstellungen verschiedener Konzepte von zoomba- ren Benutzungsoberflächen und Vergleiche mit nicht linearen Methoden sind in [Hornbæk et al.2002, Gutwin et al. 2004, Hightower 1998] zu finden.

Um Benutzungsoberflächen auf andere Rechner zu übertragen, gibt es derzeit im Client/Server-Bereich eine Vielzahl von Ansätzen und Protokollen. Diese ermöglichen es, eine graphische Benutzungsoberfläche und die zugehörige Anwendung getrennt zu betreiben und zwischen beiden Systemen die not- wendigen Informationen über das Netzwerk auszutauschen. Vertreter dieser Klasse sind X11, Virtual Network Computing (VNC), Microsofts Remote Desk- top Protocol (RDP), etc. [X11, VNC, RDP]. Dabei werden die Ereignisse des Benutzers vom Client zum Server und die Steuerbefehle bzw. Screenshots der aktuellen Arbeitsoberfläche in die Gegenrichtung übertragen. Hierzu werden vorwiegend spezielle Ports verwendet, die jedoch häufig in den Firewalls aus Gründen der Sicherheit geschlossen sind.

Weiterhin gibt es eine Vielzahl an Kommunikationsprotokollen, die es verteil- ten Anwendungen ermöglichen, über Netzwerke hinweg Daten aus- zutauschen. Das von der Object Management Group (OMG) spezifizierte Pro- tokoll der Common Object Request Broker Architekture (CORBA) bietet sich für die Kommunikation in verteilten und heterogenen Systemen an [OMG, CORBA]. Die OMG ist ein Konsortium von über 800 Firmen, das sich mit der Entwicklung von Standards für die herstellerunabhängige systemüber- greifende objektorientierte Programmierung beschäftigt. Für verteilte Anwendungen kann auch die Java Remote Method Invocation (RMI) einge- setzt werden, mit der Java Klassen über das Netzwerk ebenso wie lokale Java Klassen verwendet werden können [RMI].

58 3.1 Vorausgegangene Arbeiten

Nicht selten scheitert, wie bereits erwähnt, die Kommunikation zwischen Rechnern an den restriktiven Einstellungen von Firewalls. Damit werden die Rechner in einem internen Netzwerk vor Angriffen von außen geschützt, in- dem nur die unbedingt notwendigen Ports geöffnet bleiben. Die Kommunikati- on sollte deshalb über HTTP und Port 80 erfolgen. Diese Anforderung ist aber bei den meisten Protokollen (über das Tunneln der Ports) nicht problemlos zu erfüllen [Falk 1998]. Vom W3C wurden für diesen Anwendungsfall Web Ser- vices spezifiziert, die einen Dienst im Internet bereitstellen, der von jedem Rechner unabhängig vom Betriebssystem und der Programmiersprache genutzt werden kann. Dazu wurde das Simple Object Access Protocol (SOAP) entwickelt, das unabhängig vom darunterliegenden Transportprotokoll ist [SOAP]. In aller Regel wird jedoch bei diesem Protokoll HTTP und Port 80 verwendet. Web Services können in einem Verzeichnis registriert werden, da- mit Benutzer den Dienst leichter auffinden können. Um dies zu gewährleisten, wurde von der Organisation for the Advancement of Structured Information Standards (OASIS) ein Verzeichnisdienst und ein Katalogsystem als Standard Universal Description, Discovery and Integration (UDDI) spezifiziert [OASIS, UDDI]. Für die Beschreibung der Schnittstelle des Web Service, wird die vom W3C verabschiedete Beschreibungssprache Web Services Description Language (WSDL) verwendet [WSDL].

3.2 XML-basierte skalierbare Widgets-Sets

Der wesentlichste Bestandteil von graphischen Benutzungsoberflächen sind die einzelnen Interaktionselementen, die als Widgets bezeichnet werden. Sie bilden zusammen ein Widget-Set. Darunter versteht man das Framework, das die hierarchische Gliederung und Verwaltung der Widgets übernimmt und als Infrastruktur für die einzelnen Widgets allgemeine Funktionalität zur Verfügung stellt. Das Widget-Set bildet die Schnittstelle zur Anwendung des Benutzers. Konfigurationen, die auf der Ebene des Widget-Sets stattfinden, gelten für alle Widgets.

In den folgenden Abschnitten wird die Modellierung von XML-basierten Wid- gets mit dem Model-View-Controller Paradigma vorgestellt. Daraufhin wird die vereinfachte Modellierung von XML-basierten Widgets mit sXBL skizziert. Ab-

59 3.2 XML-basierte skalierbare Widgets-Sets schließend wird ein Konzept präsentiert, um zoombare Benutzungsoberflä- chen mit XML-basierten Widget-Sets zu erstellen.

3.2.1 XML-basierte Widgets

Die Beschreibung von Widgets ist mit XML-basierter Graphik durch Anwendung des Model-View-Controller-Paradigmas (MVC) möglich. In diesem, ursprünglich von Smalltalk stammenden Prinzip, werden das Modell, die Darstellung und die Steuerung der Widgets separat betrachtet.

• Die Modellkomponente (Model) repräsentiert den Zustand des Widgets. Sie speichert beispielsweise bei einem Button, ob dieser gedrückt ist oder nicht und bei einem Schieberegler dessen aktueller Wert und den Minimal- und Maximalwert.

• Die Darstellungskomponente (View) zeichnet die visuelle Repräsentation des Widgets. Unabhängig von der Funktionalität des Widgets kann diese Komponente den Anforderungen des Benutzers angepasst werden (Look- and-Feel). Anhand von Profilen (Skins) lässt sich die Darstellung der Komponenten beeinflussen. Durch die Aufteilung der Komponenten nach dem MVC-Paradigma ist es möglich, mehrere Darstellungskomponenten des selben Modells in einer Benutzungsoberfläche zu verwenden.

• Die Steuerungskomponente (Controller) verarbeitet die auftretenden Ereig- nisse (beispielsweise von Maus oder Tastatur), aktualisiert das Modell und passt die Darstellungskomponente des Widgets an.

Abbildung 3.1 stellt die Beschreibung eines Widgets auf der Basis einer XML- basierte Graphik dar. Die Darstellungskomponente befindet sich in der XML- basierten Graphik und das Modell wird in einer Skriptsprache beschrieben. Die Steuerung ist zweigeteilt: sie kann entweder von einem Knoten der XML-ba- sierten Graphik, beispielsweise dem Animationsknoten, oder von einer Funktionalität in eine Skriptsprache übernommen werden. Falls die Mächtig- keit des Knotens der XML-basierten Graphik für die Aufgaben der Steuerung nicht ausreicht, kann dieser Knoten einen Teil der Ereignisverarbeitung aus- führen und dann eine Methode in der Skriptsprache aufrufen, die daraufhin die weitere Steuerung übernimmt. In einem Cascading Stylesheet sind die Dar-

60 3.2 XML-basierte skalierbare Widgets-Sets stellungsattribute des Widgets gespeichert, beispielsweise Linien- und Füll- farbe, Strichstärken, Muster, etc. Dadurch ist die Gestaltung einer Benutzungsoberfläche flexibler, da diese Komponente beliebig ausgetauscht werden kann.

Cascading Anpassung Stylesheet

XML-basierte Profil Skript Graphik

Ausgabe Darstellung Modell

Ereignis Ereignis Steuerung Steuerung lokal Weiterleitung im Skript

Abbildung 3.1: Model-View-Controller eines Widgets auf Basis von XML-basierter Graphik

Im Folgenden wird exemplarisch ein Button Widget auf Basis von SVG darge- stellt. Das Cascading Stylesheet und die Skriptsprache mit der Modell- und Steuerungskomponente wurden der Übersichtlichkeit halber in die SVG- Beschreibung eingebettet. Die Darstellungskomponente des Buttons besteht aus vier graphischen Grundformen – einem Textobjekt für die Beschriftung und jeweils einem Rechteck für den Hintergrund, den Rahmen und den Schatten (vergleiche Abbildung 3.2).

Abbildung 3.2: Button Widget auf Basis von XML-basierter Graphik

61 3.2 XML-basierte skalierbare Widgets-Sets

In diesem Beispiel wird beim Klicken mit der Maus auf den Button eine Funkti- on in der Skriptsprache ausgelöst. Um dem Anwender die Interaktion mit dem Widget zu erleichtern, soll dieses optisches Feedback geben, wenn sich der Mauszeiger über dem Button befindet. Sobald dies eintritt, wird ein Ereignis ausgelöst, wodurch eine Animation gestartet wird, die den Button um wenige Prozent vergrößert. Wenn der Mauszeiger das Rechteck wieder verlässt, re- duziert ein Animationsknoten die Größe des Buttons wieder auf seine ursprüngliche Größe.

Hello World Button Hello World!

62 3.2 XML-basierte skalierbare Widgets-Sets

Widgets können entweder durch absolute Positionierung oder mit Hilfe von Layout-Managern angeordnet werden. Layout-Manager können mit Skript- sprachen zu XML-basierten Graphiken hinzugefügt werden. Ein Layout-Ma- nager mit horizontalem und vertikalem FlowLayout ordnet die Objekte linear an. Ein GridLayout positioniert die Objekte in einer vorab definierten Spalten- anzahl auf der Ausgabefläche [Rotard et al. 2005b]. Darüber hinaus können parametrische Vorgaben in Form von constraints definiert und dadurch kom- plexere Layouts entwickelt werden [McCormack et al. 2004].

Die mit SVG beschriebenen Widgets beschränken sich ausschließlich auf her- kömmliche 2D-Widgets. Die Darstellung von 3D-Widgets mit SVG und Skript- programmen ist zwar möglich, jedoch mit einer XML-basierten Beschreibungs- sprache wie X3D einfacher zu realisieren. Die oben skizzierte Struktur ist aber nicht auf SVG beschränkt, sondern kann in ähnlicher Weise für 3D-Widgets mit X3D verwendet werden.

3.2.2 Vereinfachte Handhabung von Widgets mit sXBL

Mit der Extensible Bindings Language (XBL) wurde im Mozilla Projekt eine Beschreibungssprache definiert, mit der die Definition von Widgets vereinfacht und flexibler gestaltet werden kann. Die Widgets werden mit XBL auf die XML User Interface Language (XUL) abgebildet [XBL, Mozilla, XUL]. Die oben angegebene Struktur für die Beschreibung von Widgets auf Basis von SVG kann durch die Verwendung der SVG's XML Binding Language (sXBL) vereinfacht werden [sXBL]. Mit sXBL kann die Abbildung von beliebigen XML- basierten Sprachen auf geometrische Objekte von SVG definiert werden. Bei- spielsweise kann mit sXBL eine Abbildung für eine Sprache zur Beschreibung chemischer Elemente definiert werden, die jedem Element eine geometrische Repräsentation in einem Periodensystem mit SVG ermöglicht. Für die Soft- wareentwicklung relevant ist die Abbildung mittels sXBL von Beschreibungen

63 3.2 XML-basierte skalierbare Widgets-Sets der Unified Modeling Language (UML) in der Sprache XML Metadata Inter- change (XMI) in eine graphische Repräsentation in SVG.

Die Beschreibung eines Widgets kann somit in SVG integriert und die Abbil- dung auf die geometrische Darstellung in einer sXBL-Vorlage gekapselt werden. Dies reduziert die Integration eines Widgets in die Beschreibung der graphischen Benutzungsoberfläche auf ein einzelnes Objekt. Die sXBL-Vor- lage und die Beschreibung der Widgets können dabei auch in getrennten Do- kumenten vorliegen und durch XML Inclusions in SVG referenziert werden [XInclude]. Im Folgenden ist die Struktur für ein Button-Widget mit Verwendung von sXBL skizziert.

(...)

3.2.3 Zoombare Benutzungsoberflächen

Bei zoombaren Benutzungsoberflächen handelt es sich um eine Weiter- entwicklung von zweidimensionalen Benutzungsoberflächen, in denen Fenster

64 3.2 XML-basierte skalierbare Widgets-Sets mit Inhalten in der Darstellungsgröße verändert werden können. Daher wird dieses Konzept auch als 2½-dimensionale graphische Benutzungsoberfläche bezeichnet. Die Fenster können räumlich platziert werden. Die Position des Fensters ist dabei nicht auf den Darstellungsbereich und die Auflösung des Ausgabegeräts beschränkt. Der Benutzer steuert die Ansicht durch horizon- tales bzw. vertikales Verschieben und durch Zoomen.

Abbildung 3.3: Zoombare Benutzungsoberfläche mit halbtransparenten Steuerelementen

XML-basierte Graphiken bieten durch ihre skalierbare Darstellung die Grund- lage für zoombare Benutzungsoberflächen. Ein bestehendes XML-basiertes Widget-Set kann daher auf einfache Weise um die Zoombarkeit erweitert werden. Das hier vorgestellte Konzept verwendet ein XML-basiertes Widget- Set, das um vier halbtransparente Steuerelemente für das Zoomen erweitert wurde. In Abbildung 3.3 ist die zoombare Benutzungsoberfläche dargestellt. Für die Realisierung wurde als XML-basiertes Widget-Set das SVG Pro-

65 3.2 XML-basierte skalierbare Widgets-Sets grammers' Application Resource Kit (SPARK) eingesetzt. Bei den abgebilde- ten Fensterinhalten der Textverarbeitung und des Web-Browsers handelt es sich noch um Screenshots und nicht um voll funktionsfähige Anwendungen.

Abbildung 3.4: Zoomen und Verschieben der Benutzungsoberfläche mit einer Geste

Die Steuerelemente mit der Beschriftung „Zoom In“ und „Zoom Out“ werden wie Buttons zum Vergrößern und Verkleinern der Benutzungsoberfläche verwendet werden. Für das Zoomen wird das Zentrum des dargestellten Be- reichs als Bezugspunkt gewählt. Darüber hinaus können die Benutzer zusätz- lich den dargestellten Bereich verschieben, indem sie auf der Fläche des Steuerelements eine Geste anwenden. Diese wird durch Klicken und Be- wegen des Mauszeigers über der Fläche des Steuerelements ausgeführt. Da- durch kann auf der Benutzungsoberfläche in die Richtung navigiert werden, in die der Benutzer das Eingabegerät bewegt. Um den Benutzern Rückmeldung über den Verschiebevorgang zu geben, wird auf dem Steuerelement eine

66 3.2 XML-basierte skalierbare Widgets-Sets

Linie dargestellt, deren Länge die Geschwindigkeit und deren Neigung die Richtung visualisiert. Abbildung 3.4 stellt ein Zoomen in den oberen rechten Bereich der Benutzungsoberfläche dar. Durch Drücken einer Umschalttaste während der Geste, können die Benutzer ausschließlich die Benutzungsober- fläche verschieben, ohne dabei zu zoomen.

Die aktuelle Betrachtungsposition kann über die beiden Steuerelemente „Store Viewpoint“ und „Restore Viewpoint“ gespeichert und wieder aufgerufen werden. Dies ermöglicht den Benutzern, die aktuelle Betrachtungsposition zu speichern und anschließend zu verlassen, beispielsweise zum Nachschlagen von Informationen in anderen Fenstern. Zur zuletzt gespeicherten Position kann dann zu jedem Zeitpunkt zurückgekehrt werden.

Damit die Steuerelemente im inaktiven Zustand nur eine kleine Darstellungs- fläche benötigen, sind sie in einer schmalen Leiste von nur wenigen Pixeln am unteren Rand verborgen. Durch Anklicken oder Positionieren des Mauszeigers über dieser Leiste werden sie groß eingeblendet. Beim Verlassen des Mauszeigers werden die Steuerelemente ausgeblendet und können über die schmale Leiste wieder eingeblendet werden.

Abbildung 3.5: Zoombare Benutzungsoberfläche auf einer kleinen Ausgabegröße

Da insbesonders auf kleinen Geräten die Ausgabefläche beschränkt ist, kann durch die kompakte Darstellung der zoombaren Benutzungsoberflächen ein flexibles Arbeiten mit Fenstersystemen ermöglicht werden. Abbildung 3.5 zeigt

67 3.2 XML-basierte skalierbare Widgets-Sets die zoombare Benutzungsoberfläche in einer Größe, die etwas kleiner als VGA (Video Graphics Array, 640x480 Pixel) ist.

Die folgende SVG-Beschreibung präsentiert ein Rahmengerüst für zoombare Benutzungsoberflächen. In die erste Gruppe mit der ID „contentPane“ wird die Benutzungsoberfläche und deren Inhalte eingebettet bzw. referenziert. Durch das Attribut „transform“ kann die gruppierte Geometrie einheitlich transliert und skaliert werden. Die schmale Leiste am unteren Rand zum Aktivieren der Steuerelemente hat die ID „activationBar“. Durch Anklicken oder Positionieren des Mauszeigers über dieser Leiste wird eine Methode im Skript aufgerufen, die in einer Animation die Steuerelemente vertikal nach oben einblendet. Die Steuerelemente befinden sich in einer eigenen Gruppe mit der ID „zoomBar“. Jedes Steuerelement besteht wiederum aus einer Gruppe. Bei auftretenden Ereignissen auf der Fläche der Gruppe werden die zugeordneten Methoden im Skript aufgerufen. Darin wird dann beispielsweise die Transformationsma- trix für die Benutzungsoberfläche und deren Inhalt berechnet und der ersten Gruppe zugewiesen. Die Steuerelemente „Zoom In“ und „Zoom Out“ besitzen in ihrer Gruppe eine Linie, die mit der ID „zoomInRibbon“ und „zoomOutRib- bon“ bezeichnet ist. Diese visualisiert die Richtung und die Geschwindigkeit der Translation durch den Benutzer. Die Koordinaten der Linie werden erst zur Laufzeit von einer Methode im Skript berechnet, sobald eine Geste vom Benutzer begonnen wird.

(...) < /g>

68 3.2 XML-basierte skalierbare Widgets-Sets

(...) (...) (...)

Die Integration von herkömmlichen Anwendungen in XML-basierte zoombare Benutzungsoberflächen kann über ständig aktualisierte Screenshots oder über die Emulation der herkömmlichen Benutzungsoberfläche erfolgen. Die erste Methode kann auf der Grundlage von Virtual Network Computing (VNC) arbei- ten. Dabei werden in einer Client/Server-Architektur die Ereignisse des Benutzers vom Client an den Server und in der Gegenrichtung die Screen- shots der aktuellen Benutzungsoberfläche übertragen. Die Emulation der her- kömmlichen Benutzungsoberfläche ist hingegen sehr aufwändig, da für jedes Widget und alle Zeichenbefehle eine entsprechende Umsetzung vorhanden sein muss.

3.3 Übertragung von Benutzungsoberflächen

Die Benutzungsoberfläche einer Anwendung wird in der Regel auf dem Rech- ner dargestellt, auf dem auch die Anwendung ausgeführt wird. Zu Zeiten der Großrechner wurden sämtliche Anwendungen auf einem zentralen Rechner ausgeführt und die Benutzerschnittstelle auf so genannte Terminals über- tragen und dort dargestellt. Diese Methode ist jedoch auch noch heute inte- ressant, wenn für eine Anwendung aus Gründen der Hardwarearchitektur, der Rechenleistung, des Lizenzrechts, etc. ein spezieller Rechner benötigt wird. Ein weiterer Grund kann die räumliche Distanz sein, zwischen dem Rechner, der die Anwendung ausführen kann und dem Rechner, an dem der Benutzer arbeitet. Viele Webseiten, die für den Benutzer individuell generiert werden und damit eine Anwendung darstellen, funktionieren nach diesem Prinzip. Für

69 3.3 Übertragung von Benutzungsoberflächen die Darstellung der übertragenen Benutzungsoberfläche bietet sich auch eine XML-basierte Graphik an [Küper 2003].

Sämtliche Aktionen des Benutzers werden vom Client zum Server übermittelt. Daraufhin kann dieser die Veränderungen am Modell des Geräts berechnen und diese an den Client zurücksenden, der dann das neue Modell anzeigt. Um die Bandbreite des Netzwerks nur wenig zu belasten, ist es von Vorteil, aus- schließlich die Änderungen der Benutzungsoberfläche an den Client zu schi- cken. Der Client kann dann diese Änderungen in die aktuelle Darstellung ein- bauen. Durch die Verwendung XML-basierter Graphik ist dies auf einfache Weise über DOM möglich. Die Kommunikation zwischen Server und Client durch Firewalls hindurch wird beispielsweise mit dem Protokoll SOAP über HTTP ermöglicht. Die Schnittstelle des Servers kann dabei als Web Service verwendet werden.

3.3.1 Simulation von Geräten

Im Folgenden wird eine Client/Server-Anwendung im Bereich Rapid-Prototy- ping beschrieben. In Benutzerstudien sollten ausgewählte Anwender schon in einer frühen Phase in die Geräteentwicklung mit einbezogen werden, um zeit- nah Rückmeldungen über die Qualität der Entwicklung zu erhalten. Die Gerä-

GUI-Viewer Server (SVG/X3D)

getGUI

GUI as XML Document

Event

Event Processing

changed parts of the GUI

Abbildung 3.6: Sequenzdiagramm zur Übertragung von Benutzungsoberflächen

70 3.3 Übertragung von Benutzungsoberflächen teprototypen werden dazu auf einem Server simuliert und auf einem Client beim Benutzer mit XML-basierter Graphik dargestellt. Das Spektrum der Gerä- te, die simuliert werden können, ist groß und reicht von Mobiltelefonen über Digitalkameras bis hin zu medizinischen Geräten. Ein wichtiger Aspekt bei dieser Simulation ist, dass der Server eine Spezialisierung oder eine wesent- lich höhere Rechenleistung besitzen kann, als der Client haben muss. Auf der Seite des Servers kann gegebenenfalls auch ein Cluster von Rechnern die Berechnung des Gerätemodells übernehmen. Damit können beispielsweise bei medizinischen Geräten realistisch wirkende Visualisierungen berechnet werden. Abbildung 3.6 veranschaulicht dieses Szenario in einem Sequenzdia- gramm.

Bei manchen Geräten ist eine dreidimensionale Visualisierung sinnvoll, um einen möglichst realistischen Eindruck von der Bedienung zu erreichen. Als Alternative zur Visualisierung von 3D-Modellen können auch mehrere 2D- Modelle entwickelt werden, die das Gerät jeweils aus einer anderen Perspek- tive zeigen. Diese Variante ist jedoch meist mit einem größeren Modellierungsaufwand verbunden. Außerdem können die Benutzer in der Testphase den Prototypen nicht frei im Raum bewegen, was wesentlich vom Benutzertest ablenken kann.

Abbildung 3.7: Taschenrechner in SVG und Uhr in X3D als Client/Server Anwendung

Als Beschreibungssprache für die Geometrie der 2D-Modelle bietet sich SVG und für die der 3D-Modelle X3D an. So können die Änderungen der Geome-

71 3.3 Übertragung von Benutzungsoberflächen triedaten strukturiert über das Netzwerk übertragen und beim Client in die Vi- sualisierung integriert werden. Durch die einheitliche Schnittstelle erfolgt über DOM eine von den Dimensionen der Visualisierung der Geräte unabhängige Handhabung. Abbildung 3.7 zeigt zwei Beispielanwendungen, die in SVG und X3D realisiert wurden. Zum einen handelt es ich um einen zweidimensionalen Taschenrechner, der auf dem Client mit SVG dargestellt wird und die Berech- nungen auf dem Server vornimmt. Zum anderen wurde eine dreidimensionale Uhr mit X3D dargestellt, welche die lokale Zeit des Servers und beim Betä- tigen der Knöpfe auch das Datum anzeigt. Darüber hinaus ist in Abbildung 3.8 ein interaktives Schachspiel in X3D abgebildet, bei dem die Züge des Compu- ters auf dem Server berechnet werden.

Abbildung 3.8: Schachspiel in X3D als Client/Server Anwendung

Der Ablauf des Prozesses ist folgender: Der Server schickt zu Beginn der Kommunikation das Modell des Geräts an den Client, welches dieser dann anzeigt. Danach werden nur noch Änderungen des Modells übertragen. Auf der Seite des Clients übernimmt ein so genannter Render-Client die Integrati- on der Modelländerungen und die Visualisierung. Auftretende Ereignisse werden entweder vom Client selbst verarbeitet oder an den Server weitergelei- tet. Im Server repräsentiert der Simulation-Service die Schnittstelle des Web Service. Abbildung 3.9 zeigt ein Komponentendiagramm für das Client/Server- System, das einen getrennten RenderClient und eine Darstellungs- komponente für Modelle in SVG und X3D besitzt. Diese Trennung ist notwen- dig, wenn die Darstellungskomponente nicht alle XML-basierte Grapikformate unterstützt. In diesem Fall wird für jede Darstellungskomponente eine eigene Vorstufe eingesetzt, die dann alle Funktionsaufrufe kapselt. Beim Server ent-

72 3.3 Übertragung von Benutzungsoberflächen steht dadurch keine Änderung, da XML-basierte Graphik einheitlich gehand- habt werden kann.

Abbildung 3.9: Komponentendiagramm des Client/Server Systems

3.3.2 Verarbeitung von Ereignissen

Der Server und der Client arbeiten beide mit je einer Instanz der graphischen Bedienoberfläche des Modells, die synchron gehalten werden müssen. Als Reaktion auf die vom Client an den Server gemeldeten aufgetretenen Maus- und Tastatur-Ereignisse sendet der Server die Änderungen in der Vi- sualisierung der Bedienoberfläche zurück. Diese Nachricht besteht aus einer Liste der zu modifizierenden Knoten mit der Information über die Ver- änderungen der Attribute und neuer Kindknoten. Der Client decodiert die Nachricht und modifiziert das Modell der Visualisierung entsprechend einheit- lich über die DOM-Schnittstelle.

Die Übertragung jedes aufgetretenen Ereignisses vom Client an den Server ist nicht unbedingt notwendig. Der Server kann für jeden Knoten Ereignisse regis- trieren. Aufgetretene Ereignisse, die der Server nicht registriert hat, werden verworfen. Für die Registrierung fügt der Server einen speziellen Ereig- nisknoten mit eigenem Namensraum als Kindknoten hinzu.

73 3.3 Übertragung von Benutzungsoberflächen

Ein Problem bei der Ereignisverarbeitung ist, dass manche Aktionen des Benutzers eine Vielzahl von Ereignissen auslösen, beispielsweise beim Be- wegen der Maus über einem Objekt (Mouse-Move Event). Der Client kann in diesem Fall die Ereignisse verarbeiten und das Modell bei sich lokal ändern. Am Ende dieser Bewegungssequenz ist es aber zwingend notwendig, das Modell des Clients mit dem des Servers zu synchronisieren.

50

0 100 Intensity: 20 Abbildung 3.10: Drehregler auf Basis von SVG

Ein Beispiel für die Notwendigkeit des selektiven Übertragens von Ereignissen ist ein Drehregler (siehe Abbildung 3.10). Bei diesem Widget ist es in der Regel nicht zwingend, dass bei Bewegung des Reglers jede Zwischenposition als Ereignis an den Server geschickt wird. Erst bei der Endposition ist eine Neuberechnung des Modells vom Server notwendig. Lokale Änderungen, wie der aktuelle Wert der Intensität in Abbildung 3.10, können vom Client berech- net werden. Beim Synchronisieren mit dem Server muss der Client den Knoten, an dem das Ereignis auftrat, und auch den Knoten mit den Intensitäts- werten übertragen. Dazu benötigt er die Information, welche Knoten er zum Server schicken soll. Dies wird in dem Attribut „paramNodes“ des Knotens für die Registrierung über den Name (ID) mitgeteilt.

Der folgende Ausschnitt aus der Beschreibung des Drehreglers zeigt die Re- gistrierung eines „mouseup“-Ereignis, bei dem der Textknoten mit dem Inhalt des Intensitätswerts an den Server zurück übertragen werden soll. Der Client verarbeitet die Ereignisse „onmousedown“ und „onmousemove“ lokal, ohne den Server davon zu informieren. Dabei wird die neue Stellung des Dreh- reglers berechnet, der Regler entsprechend gedreht und der Intensitätswert aktualisiert. Beim Loslassen der Maustaste wird die Beschreibung des Reglers und des Intensitätswerts an den Server geschickt und dann das Modell neu berechnet.

74 3.3 Übertragung von Benutzungsoberflächen

(...) 20

Abbildung 3.11: Sequenzdiagramm der Initialisierungsphase

75 3.3 Übertragung von Benutzungsoberflächen

Abbildung 3.11 stellt in einem Sequenzdiagramm die Initalisierungsphase und die Übertragung eines Ereignis vom Client an den Server dar. Der Benutzer kann in einem ersten Schritt auswählen, welches Gerät visualisiert werden soll. Dazu wird vom Client die Liste der Modelle erfragt und dem Benutzer angezeigt. Das ausgewählte Gerät wird vom Client beim Server angefragt. Der Server schickt anschließend das Modell als Antwort an den Client, der dieses dann mit dem entsprechenden Darstellungswerkzeug anzeigt und die Ereig- nisverarbeitung konfiguriert.

Abbildung 3.12: Sequenzdiagramm der Ereignisverarbeitung

Wenn der Benutzer ein Ereignis auslöst, das vom Server verarbeitet werden soll, wird dies vom Client des Benutzers registriert und dann an den Server weitergeleitet. Dieser Ablauf wird in Abbildung 3.12 dargestellt. Der Server be- rechnet die Modelländerungen und antwortet, indem er die zu ändernden

76 3.3 Übertragung von Benutzungsoberflächen

Knoten schickt. Der Client baut die Änderungen in sein Modell ein und zeigt dies dann dem Benutzer an.

3.3.3 Ereignisse auf dem Server

Das Kommunikationsprotokoll HTTP basiert auf einer sequenziellen Abfolge der Nachrichten zwischen Server und Client. Der Client stellt eine Anfrage (Request) an den Server und dieser schickt eine Antwort (Response) an den Client. Wenn ein Ereignis auf dem Client eintritt, ist es mit HTTP einfach möglich, den Server darüber zu informieren. Schwieriger ist der Fall, wenn auch Ereignisse auf dem Server eintreten, beispielsweise das Simulieren einer Uhr auf dem Server mit zeitgesteuerter Visualisierung des Sekundenzeigers auf dem Client. Der Server hat mit HTTP keine direkte Möglichkeit, den Client über das Auftreten eines Ereignisses zu informieren. Damit dies ermöglicht wird, gibt es die folgenden drei Ansätze:

1. Um vom Server aus an den Client eine Anfrage zu schicken, besteht die Möglichkeit, in den Client einen HTTP-Server einzubauen. Dadurch kann der Server direkt an den HTTP-Server im Client eine Nachricht senden. Diese Konstellation ist ungünstig, da viele Sicherheitskonzepte es ver- bieten, HTTP-Server auf Arbeitsplatzrechnern zu installieren. Zudem wird der Aufwand für den Probanden eines Benutzertests durch die zusätzliche Installation eines Servers erhöht.

2. Ein anderer Ansatz ist das Polling-Verfahren. Dabei fragt der Client in regelmäßigen Abständen den Server nach Ereignissen. Wenn der Server voraussehen kann, in welchen Abständen Ereignisse eintreffen können, dann kann er dies dem Client mitteilen und so eine Polling-Frequenz festlegen. Dabei muss bedacht werden, dass durch eine hohe Polling- Frequenz die Netzbelastung ansteigt.

3. Ein drittes Verfahren basiert auf der Idee, dass Anfragen des Clients an einen Server solange nicht beantwortet werden, bis ein Ereignis auf dem Server auftritt. Allerdings werden dabei Server und Client blockiert. Deshalb muss die Anfrage des Client nebenläufig, d.h. in einem eigenen Thread, er- folgen (Abbildung 3.13). Wenn der Server wegen Überschreitung der Zeit

77 3.3 Übertragung von Benutzungsoberflächen

(time out) die Verbindung abbricht, muss der Client sofort wieder eine Anfrage an den Server richten. In diesem kurzen Zeitraum vom Ver- bindungsabbruch bis zur neuen Anfrage könnte allerdings ein Ereignis auf dem Server auftreten und verloren gehen. Deshalb sollten die Ereignisse des Servers in einer Warteschlange eingetragen werden. Dieses Verfahren verbraucht sehr wenig Netzbandbreite, da nur wenige Nachrichten ausge- tauscht werden. Es hat allerdings den Nachteil, dass manche HTTP-Server nur eine limitierte Anzahl von Threads besitzen, mit der sie Anfragen be- arbeiten können. Wenn bei der Simulation mehrerer Geräte alle diese Threads auf Ereignisse warten, dann wird der Server blockiert oder stark beeinträchtigt (denial of service).

Client Server Thread 1 Thread 2 Thread 2 Thread 1

GetServerEvent

User Event

Response

ServerEvent

Abbildung 3.13: Nebenläufige Verarbeitung von Ereignissen, die auf dem Server auftreten

78 3.4 Ergebnisse

3.4 Ergebnisse

In diesem Kapitel wurden Verfahren vorgestellt, um Benutzungsoberflächen mit XML und Widgets mit XML-basierten Graphiken zu beschreiben. Mit diesen Verfahren können sowohl 2D- als auch 3D-Widgets modelliert werden. Durch die Verwendung des Model-View-Controller Paradigmas bei der Beschreibung der Widgets werden das Modell, die Darstellung und die Steue- rung des Widgets flexibel konfigurierbar und einsetzbar. Durch die Verwendung der SVG's XML Binding Language (sXBL) wird die Beschreibung von Widgets mit SVG vereinfacht.

Bei zoombaren Benutzungsoberflächen handelt es sich um eine Weiter- entwicklung von zweidimensionalen Benutzungsoberflächen, in denen Fenster mit Inhalten in der Darstellungsgröße verändert werden können. Zoombare Benutzungsoberflächen lassen sich mit XML-basierter Graphik auf einfache Weise realisieren, da Skalierbarkeit eine inhärente Eigenschaft von XML-ba- sierter Vektorgraphik ist. Die Benutzer können die Ansicht durch horizontales bzw. vertikales Verschieben und durch Zoomen steuern.

Erweitete Konzepte für zoombaren Benutzungsoberflächen sehen beim Einzoomen das Anzeigen von Zusatzinformation vor (level of detail). Dabei werden beispielsweise Abkürzungen ausgeschrieben oder graphische In- formationen textuell ausführlich dargestellt [Barbisch 2002]. Auf den Icons von Dateien werden die enthaltenen Dokumente in verkleinerter Form abgebildet. Wenn der Benutzer auf ein solches Icon zoomt, wird die Datei mit der zuge- ordneten Anwendung geöffnet und eine Bearbeitung ermöglicht. Spezielle Ein- gabegeräte könnten die Navigation in zoombaren Benutzungsoberflächen vereinfachen. Alternativ dazu würden einheitliche Gesten für das Zoomen des Inhalts einer Anwendung, der Anwendung auf der Benutzungsoberfläche und der Benutzungsoberfläche selbst die Handhabung intuitiver gestalten.

Mit XML-basierten Widgets ist auch die Übertragung von Benutzungsoberflä- chen auf andere Rechner möglich. Dabei werden die Aktionen des Benutzers vom Client zum Server übermittelt und daraufhin vom Server verarbeitet. Dies führt zu einer Veränderung der Benutzungsoberfläche. Um die Bandbreite des Netzwerks zu reduzieren, werden ausschließlich Änderungen dem Client mit-

79 3.4 Ergebnisse geteilt, der dann die Änderungen in die Benutzungsoberfläche integriert und diese anschließend darstellt. Darüber hinaus wurden Verfahren für die Realisierung von Ereignissen auf dem Server vorgestellt.

Abbildung 3.14: Elektronische Tafel in einem kooperativem Lehr- und Lernszenario [Oberparleiter 2002]

Als Anwendungsfeld für die Übertragung von Benutzungsoberflächen wurden Benutzerstudien mit simulierten Geräten beschrieben, um schon in einer Frü- hen Phase der Entwicklung Rückmeldungen von Anwendern sowie Fachleu- ten zu bekommen. Weitere Einsatzgebiete, in denen XML-basierte Graphik für die Übertragen von Benutzungsoberflächen verwendet werden kann, sind die Bereiche Computer-Supported Cooperative Work (CSCW) und Computer- Supported Cooperative Learning (CSCL). XML-basierte Graphik vereinfacht die Realisierung von Systemen auf unterschiedlichen Plattformen und Gerä- ten. Abbildung 3.14 zeigt eine elektronische Tafel (Whiteboard) und Leinwand für den Einsatz in kooperativen Lehr- und Lernszenarien. Diese und ähnliche Anwendungen könnten mit XML-basierter Graphik flexibel eingesetzt und ge- räteunabhängig entwickelt werden.

80 4 XML-basierte Graphik in Lehrmaterialien

4 XML-basierte Graphik in Lehrmaterialien Tell me – and I forget, teach me – and I remember, involve me – and I learn.

Benjamin Franklin (1706-1790)

4 XML-basierte Graphik in Lehrmaterialien

Viele Bereiche der Wissenschaft unterliegen einer rapiden Erweiterung und Veränderung ihrer Forschungsinhalte. Dabei müssen auch ihre Lehrmateriali- en an die neuen Entwicklungen und Forschungsergebnisse angepasst werden. Für die Autoren der Lehrmaterialien sind daher die Aspekte Aus- tausch und Wiederverwendung von bestehenden Materialien besonders wichtig. Sollen herkömmliche Lehrmaterialien, wie Folien und Skripte zum Selbststudium verwendet werden können, erfordert ihre Aktualisierung einen großen zusätzlich Aufwand. Zudem wird eine Anpassung an die aktuellen Lernformen notwendig, beispielsweise wurde aus dem Telelernen der 90-er Jahre des letzten Jahrhunderts das umfassendere e-Learning und der neue Trend geht zum Blended Learning [Bersin 2004]. Diese Lernform kombiniert die traditionelle Präsenzlehre mit Onlinephasen, in der die Lernenden individu- ell betreut werden und teils gemeinsam in Gruppen die Lehrmaterialien be- arbeiten, was auch als hybride Lernarrangements bezeichnet wird [Kerres 2002].

Nach wie vor findet der Austausch von Lehrmaterialien hauptsächlich in der klassischen Form eines direkten Kontakts zwischen den Lehrenden statt. In- ternationale Fachverbände und Organisationen wie die SIGCSE, SIGGRAPH und SIGCHI haben begonnen Curricula für Lehrinhalte ihrer Fachgebiete auf- zustellen [SIGCSE, SIGGRAPH, SIGCHI]. Es werden beispielsweise Curricula für die Fachgebiete der Mensch-Maschine Kommunikation, für die Compu- tergraphik, für die Visualisierung oder für eine gemeinsame Einführung in die Fachgebiete Computergraphik und Mensch-Maschine Kommunikation vorge- schlagen oder in Grundlagen festgelegt [Hewett et al. 1992, IEEE ACM 2001,

81 4 XML-basierte Graphik in Lehrmaterialien

Rotard et al. 2004e, Rotard et al. 2004f, Rotard et al. 2005a]. Die Anlehnung der Lehrveranstaltungen verschiedener Universitäten an diese Curricula vereinfacht es den Lehrenden, ihre Lehrmaterialien auszutauschen oder neue Lehrmodule auf der Basis von Lehrmodulen anderer Lehrender zu erstellen. Dazu werden zentrale Plattformen eingerichtet, die eine Nutzung von solchen Lehrmodulen teilweise unentgeltlich anbieten [CGEMS, Merlot]. Dies zeigt, dass der Austausch und die Wiederverwendung von Lehrmaterialien nicht nur an Hochschulen eine immer größere Rolle spielt und daher die nachhaltige Er- stellung zu einem wichtigen Faktor wird. Nur unter diesem Aspekt kann ge- währleistet werden, dass die Wiederverwender mit wenig Aufwand nicht selbst erstellte Lehrmaterialien in ihren eigenen Lehrkontext integrieren und zu einem späteren Zeitpunkt auch an neue Standards anpassen können.

Lehrmaterialien werden heutzutage überwiegend in proprietären Dokumenten- formaten gespeichert und als statische HTML- oder PDF-Dokumente im Web publiziert. Dieses Vorgehen hat sich für die Autoren und für die Lernenden als unflexibel in der Handhabung und Anpassung an gegebene Randbe- dingungen erwiesen. Neuere Methoden in der Lehrmodulerstellung setzen auf XML-basierte Beschreibungssprachen, mit denen sich die Ausgabe der Lehr- module in der Lernplattform ad hoc generieren lässt. Dazu müssen die Lehr- inhalte als Bestandteile der Lehrmodule systematisch in Lernobjekte geglie- dert und entsprechend ihrer semantischen Bedeutung ausgezeichnet werden.

Nach der Definition des IEEE Learning Technology Standards Committee (LTSC) ist ein Lernobjekt (learning object) ein wiederverwendbarer und refe- renzierbarer Bestandteil eines Lehrmoduls [LTSC]. Der Vorteil von XML-ba- sierten Lehrmaterialien liegt darin, dass dabei eine konsequente Trennung in Lehrinhalt, Layout und Struktur möglich ist. Dadurch können Lehrmaterialien vereinfacht mit anderen Lehrenden ausgetauscht und wiederverwendet werden.

Lernende haben in Lernplattformen zusätzlich den Vorteil, die Ausgabe der Lehrmaterialien speziell ihren Bedürfnissen und Vorlieben abzustimmen und gegebenenfalls individuelle Lernpfade auswählen zu können. Zudem besteht die Möglichkeit, die Lehrmaterialien an die Randbedingungen der Lernplatt- form und an das Ausgabesystem des Lernenden anzupassen. Darüber hinaus

82 4 XML-basierte Graphik in Lehrmaterialien lassen sich damit vereinfacht Kurse auf CD-/DVD generieren. So werden auch umfangreiche Lehrmaterialien für Lernende mit niedrigen Netzbandbreiten zu- gänglich. Mit diesen Voraussetzungen benötigen sie ihren Internetzugang nur noch für Recherchen und für die Kommunikation mit ihren Kommilitonen via e- Mail, Diskussionsforum, Chat, Voice over IP, Gruppenkalender etc.

Im Projekt Information Technology Online (ITO) wurde ein XML-basiertes Lehrmodulformat und eine Autorenumgebung entwickelt, die es ermöglicht, Lehrinhalte nachhaltig zu erstellen und darin Lernobjekte flexibel einzufügen [ITO]. Die Konzeption des ITO-Lehrmodulformats erlaubt die Integration von XML-basierten Graphiken in die Lehrmodule. Dadurch können auch Anima- tionen und interaktive Experimente in die Lehrmodule integriert werden. Bei der Ausgabe der Lehrmodule auf der Lernplattform können diese Graphiken flexibel den gegebenen Randbedingungen angepasst werden. Die für die Er- stellung der Lehrmodule entwickelte Autorenumgebung basiert auf OpenOffice.org1 [Rotard et al. 2003b, OpenOffice.org]. Die hier entwickelte Konzeption kann auch auf andere konventionelle Autorensysteme übertragen werden.

OpenOffice.org wurde für die Referenzimplementierung wegen seiner offenen Schnittstelle, dem XML-basierten Speicherformat, dem liberalen Lizenzmodell und der umfangreichen Import- und Exportfilter gewählt. Dies ermöglicht den Autoren, Lehrmodule in ihrer gewohnten Arbeitsumgebung zu erstellen [Rotard et al. 2004c].

Abbildung 4.1 zeigt den Prozess, wie Lehrmaterialien aus OpenOffice.org, Microsoft Word und KWord mit OpenOffice.org als Lehrmodul ausgezeichnet werden können. Dazu wurden Autorensystemerweiterungen wie das ITO- Transformer-PlugIn implementiert und spezielle Formatvorlagen integriert. Nach dem Speichern der Materialien im OpenOffice.org Speicherformat über- führt der ITO-Transformer die Lehrinhalte in das ITO-Lehrmodulformat. Dieses ist modular aufgebaut und teilt Informationen in Metadaten, Strukturen, In- halte, Objekte und Layout ein. Durch diese Aufteilung ist es einfach möglich, die Ausgabe flexibel an die Lernplattform und an das Ausgabesystem des Ler-

1 Die Bezeichnung „OpenOffice“ ist in manchen Ländern markenrechtlich geschützt ist, daher wurde das Produkt von den Entwicklern in „OpenOffice.org“ umbenannt.

83 4 XML-basierte Graphik in Lehrmaterialien

OpenOffice.org Microsoft Word KOffice ITO- Lehrmaterialien Lehrmodulformat auszeichnen

OpenOffice.org Metadaten

Lehrmodul Transformation Strukturen speichern ausführen OpenOffice.org Transformer- Inhalte Speicherformat PlugIn

Objekte

Externe Ressourcen Layout

Abbildung 4.1: Wiederverwendung von existierenden Lehrmaterialien durch Auszeichnung und Speicherung im ITO-Lehrmodulformat nenden anzupassen. Abbildung 4.2 zeigt die Aufbereitung des ITO-Lehrmo- dulformats für die Ausgabe auf der Lernplattform im Web und für den Druck.

Um die Lehrmodule den Lernenden zugänglich zu machen, wurde eine Lern- plattform erstellt, die XML-basierte Graphiken unterstützt (Abbildung 4.3) [Josefy 2002]. Diese Lernplattform basiert auf dem Cocoon-Framework der Apache Software Foundation [Cocoon]. Die Formatierung der Ausgabe kann darin auch für blinde Menschen angepasst werden. Insbesondere wird die Umwandlung von mathematischen Ausdrücken, die in den Lehrinhalt integriert sind, in eine Notation für blinde Menschen, unterstützt. Ferner können die Ler- nenden zu den Inhalten Annotationen hinzufügen. Dabei kann für jede An- notation festgelegt werden, ob diese auch für andere Lernende sichtbar sein soll.

Die Ziele für die Weiterentwicklung der Lernplattform waren hoch gesteckt. Insbesondere die Funktionen für die Kommunikation und Kollaboration hatten sich jedoch als aufwändig herausgestellt. Der Funktionsumfang der Lernplatt- form wurde daher nicht im Rahmen des Projekts erweitert, sondern es wurde nach Partnern gesucht, die eine Lernplattform mit einem ähnlichen Konzept

84 4 XML-basierte Graphik in Lehrmaterialien

Web ITO- Lehrmodulformat XHTML X3D Metadaten SVG Lehrmodulausgabe Strukturen erzeugen Bitmap MathML Inhalte Ausgabe- aufbereitung Druck Objekte PDF

Layout PS

XHTML

Abbildung 4.2: Ausgabeaufbereitung von Lehrmaterialien im ITO-Lehrmodulformat für die Verwendung auf Lernplattformen im Web und für den Druck entwickeln. Als Partner wurde das Projekt Metacoon-Services gefunden, das die OpenSource Lernplattform Metacoon (siehe Abbildung 4.4) entwickelt und deren Architektur ebenfalls auf Cocoon basiert [Metacoon]. Das hier be- schriebene Lehrmodulformat und der Ansatz der nachhaltigen Erstellung von Lehrmodulen wurde in Metacoon integriert und erfolgreich eingesetzt.

Abbildung 4.3: Flexible Lernplattform mit Unterstützung von XML-basierten Graphiken und Ermöglichung blindengerechter Darstellung

85 4 XML-basierte Graphik in Lehrmaterialien

Abbildung 4.4: Lernplattform metacoon Die Lernplattform Metacoon ist an unterschiedliche Lernszenarien an- passungsfähig. Dafür stehen eine Reihe von modularen Funktionalitäten zur Verfügung, die entsprechend dem Nutzungsszenario hinzugefügt werden können. Die Plattform unterstützt virtuelle Vorlesungen und ermöglicht auch Lehrveranstaltungen in virtuellen Seminarräumen. Durch eine Gruppen- und Rollenverwaltung können Lerngruppen gebildet und dabei sowohl öffentliche als auch private Bereiche definiert werden. Als Kommunikationsformen für das gemeinsame Lernen können Diskussionsforen, Chats, Pinnwände, Sofort- nachrichten, Gruppenkalender und Aufgabenlisten eingesetzt werden. Die Lernplattform verfügt darüber hinaus über eine Literaturverwaltung und eine Rechercheumgebung. Zur Unterstützung der Kooperation können Werkzeuge zur Abstimmung bei Entscheidungen und Fragebögen für Evaluation einge- setzt werden. Mit einem Modul zur Leistungskontrolle und -übersicht kann der Lernfortschritt überprüft und bei erfolgreicher Absolvierung können automa- tisiert Leistungsnachweise erstellt werden.

Die folgenden Abschnitte beschreiben die Eigenschaften XML-basierter Graphik in Lehrmodulen, das ITO-Lehrmodulformat, die Transformation ins XML-basierte Lehrmodulformat und die Erstellung von Lehrmodulen mit kon- ventionellen Autorenwerkzeugen. Die aufgeführten Verfahren und Strategien wurden zusammen mit Lutz Finsterle in [Finsterle et al. 2002, Finsterle et al. 2003, Rotard et al. 2003b, Rotard et al. 2004c] veröffentlicht.

86 4.1 Vorausgegangene Arbeiten

4.1 Vorausgegangene Arbeiten

In den letzten Jahren wurden XML-basierte Lehrmodulformate in einigen e-Learning Projekten erstellt. Zu nennen sind beispielsweise Targeteam (TArgeted Reuse and GEneration of TEAching Materials) mit dem Format Te- achML, das Course Description Format (CDF) aus dem Ariadne Projekt, die Learning Material Markup Language (LMML), etc. [Targeteam, Ariadne-CDF, LMML]. LMML ermöglicht darüber hinaus die Integration XML-basierter Lern- objekte. Rob Koper von der Open University of the Netherlands beschreibt in [Koper 2001] Anforderungen für die XML-basierten Lehrmodulformate, die eine Basis für die Educational Modelling Language (EML) bilden [EML]. Ein ausführlicher Vergleich dieser Beschreibungssprachen ist in [Rawlings et al. 2002] zu finden. Alle genannten Formate bieten jedoch meist nur rudimentären Funktionsumfang, um XML-basierte Graphik einzubinden und flexibel an die Ausgabe anzupassen. Auch fehlen bei manchen Formaten Konzepte, um Lehrmodule sensorisch Behinderten zugänglich zu machen.

Der Ansatz, ein konventionelles Autorensystem für die Erstellung von Lehrmo- dulen zu verwenden, wird auch im Projekt FIGARO (Federated Initiative of GAP and Roquade) verfolgt [Oeltjen 2003]. Darüber hinaus haben an der Humboldt Universität in Berlin die Universitätsbibliothek und das Rechen- zentrum ein gemeinsames Projekt mit dem Titel "Digitale Dissertationen" ins Leben gerufen, dessen Ziel die Langzeitverfügbarkeit von Dissertationen und wissenschaftlichen Schriften mit der Möglichkeit der qualifizierten Recherche ist. Dazu wurde ein Speicherformat Dissertation Markup Language in XML (XDiML) definiert [Henneberger et al. 2003]. Sämtliche Dokumente können mit unterschiedlichen Autorensystemen erstellt und dann in das XDiML-Format überführt werden.

Tanja Schniederberend schildert Techniken für unterschiedliche Publikations- wege von XML-basierten Lehrmaterialien [Schniederberend 2003]. Methoden, um Lernobjekte wieder zu verwenden und systemunabhängig einzusetzen, stellt die Arbeit von [Anido-Rifón et al. 2002] vor. Eine systematische Darstel- lung der Bedeutung von Lernobjekten ist in [Gibbons et al. 2001, Wiley 2001, Ip et al. 2001] zu finden. Technische Anforderungen an Lernplattformen werden umfassend in [Doberkat et al. 2002] beschrieben. Darüber hinaus führt

87 4.1 Vorausgegangene Arbeiten

[Schulmeister 2000, Schulmeister 2001] Selektions- und Entscheidungskriteri- en für die Auswahl von Lernplattformen und Autorenwerkzeuge auf.

4.2 Eigenschaften XML-basierter Graphik in Lehrmodulen

XML-basierte Beschreibungsformate für Lehrinhalte verwenden derzeit fast ausschließlich konventionelle Rastergraphikformate. Doch der Grad der Inter- aktivität für die Lernenden und die Flexibilität bei der Generierung der Aus- gabe kann durch die Einbeziehung XML-basierter Graphiken noch wesentlich gesteigert werden, denn durch interaktive und animierte Graphiken kann die Anschaulichkeit verbessert und die Motivation der Lernenden erhöht werden [Hanisch 2004]. Graphik, worunter hier auch mathematische Ausdrücke zu verstehen sind, lassen sich speziell an den Kontext und dessen Formatierung anpassen. Um die Inhalte mit Graphiken auf mobilen Geräten mit geringer Dis- playauflösung darstellen zu können, ist Skalierbarkeit sehr wichtig. Bei Rastergraphiken ist das Skalieren in eine niedrigere und auch höhere Auflö- sung nur mit Qualitätseinbußen möglich. Dagegen ist bei XML-basierter Vek- torgraphik eine verlustlose Skalierung inhärent möglich.

Abbildung 4.5: Anpassung einer XML-basierten Graphik eines Tetraeders mit Cascading Stylesheets

Neben einer Anpassung des Farbschemas und der Zeichensätze in der Graphik kann bei XML-basierter Graphik auch die Formatierung der Graphik- objekte verändert werden. Dies kann im einfachsten Fall über die Verwendung der Cascading Stylesheet Language (CSS) geschehen [CSS]. Dort lässt sich die Formatierung der Lehrinhalte und auch der XML-basierten Graphikobjekte festlegen. Abbildung 4.5 illustriert die Ausgabeanpassung einer XML-basierten Graphik mit verschiedenen Cascading Stylesheets. Sollen darüber hinaus

88        

        !     "      #$   %  !              #$  &      ' (         )*!+ ,  "   !   *!  %  ,     - .  

    

         !!""""# !$!      !!""""# !%%%!&'(! ) *    + +     !

   ) !  ) )

  ))  

        

   ,- )) .+     * /0!

    "       ! "    "       ! "    "         ! "   12       !    "  !  

!   ! "  

/0 4.2 Eigenschaften XML-basierter Graphik in Lehrmodulen

In dieser Transformation ist für jeden Textknoten der Graphik ein Template de- finiert, das abhängig von der festgelegten Sprache den Textinhalt variiert. Der Austausch des Inhalts findet nur statt, wenn es sich dabei um die Überschrift (id=“heading“) handelt, sonst wird der Textknoten einfach kopiert. Die Sprache wird in der Variable „lang“ gespeichert und kann beim Aufruf des Stylesheets als Parameter übergeben werden. Anschließend werden dem Textknoten alle Attribute hinzugefügt, die der ursprüngliche Knoten hatte. Dadurch wird der Textinhalt angepasst, die Formatierung des Textes bleibt jedoch unverändert. Für jede Sprache ist der entsprechende Inhalt des Textknotens definiert. Durch die Unterstützung des Unicode-Zeichensatzes in XML-Anwendungen kann der Textinhalt international sein, beispielsweise zeigt Abbildung 4.6 die Ergebnisse einer Transformation mit deutscher, japanischer und arabischer Beschriftung. Falls der Textinhalt in der entsprechenden Sprache im

Abbildung 4.6: Tetraeder mit deutscher, japanischer und arabischer Beschriftung

90 4.2 Eigenschaften XML-basierter Graphik in Lehrmodulen

Stylesheet nicht aufgeführt ist, wird der Text unter „otherwise“ verwendet. Ab- schließend werden mit dem letzten Template im Stylesheet alle unveränderten Knoten und deren Attribute in die Graphik übernommen.

Für blinde Menschen ist es wichtig, Graphiken in tastbarer Form zur Verfü- gung zu haben. Daher sollten die Graphiken an die Randbedingungen der taktilen Ausgabe angepasst werden können. XML-basierte 2D- und 3D- Graphiken und mathematische Ausdrücke lassen sich in eine für blinde Men- schen erfassbare Form transformieren, wie in Kapitel 5 näher ausgeführt wird. Darüber hinaus ist für farbenfehlsichtige Menschen auch eine Darstellung in Falschfarben möglich.

Abbildung 4.7: Interaktives Experiment für 3D-Transformationen als XML-basierte Graphik

XML-basierte Graphiken können interaktiv sein und Animationen ausführen. In Lehrmaterialien ist dadurch eine anschauliche Darstellung von Prozessen

91 4.2 Eigenschaften XML-basierter Graphik in Lehrmodulen möglich. In interaktiven Experimenten können Zusammenhänge durch Aus- probieren erfasst und Erkenntnisse direkt umgesetzt werden. Abbildung 4.7 zeigt ein interaktives Experiment für 3D-Transformationen, das als XML-ba- sierte Graphik realisiert wurde. Damit kann ein Objekt interaktiv transliert, skaliert und rotiert werden. Die zugehörigen Matrizen für die Translationen, Skalierung und Rotation werden dazu im unteren Teil angezeigt.

Der Vorteil bei der Verwendung von XML-basierter Graphik in Lehrmaterialien ist darüber hinaus die Wiederverwendbarkeit der Graphiken durch andere Do- zenten und durch Lernende. Die Bearbeitung von Inhalten in Rastergraphiken ist aufwändig und durch die diskretisierte Form der Information nicht direkt möglich. Bei XML-basierten Graphiken liegt dem Bearbeiter die ursprüngliche Repräsentation der Graphik vor. Dadurch können ihr Inhalt oder ihre Parame- ter auf einfache Art und Weise geändert werden. Dies macht Übungsaufgaben möglich, in denen die Lernenden abgebildete Diagramme, Schaubilder, Formeln, graphische Szenen, etc. modifizieren oder ergänzen sollen.

4.3 XML-basiertes Lehrmodulformat

Die Basisanforderungen für ein Lehrmodulformat werden von Rob Koper von der Open University of the Netherlands am Beispiel von EML in [Koper 2001] beschrieben. Diese sind aber weitestgehend unabhängig von EML formuliert und bilden daher auch die Grundlage für das ITO-Lehrmodulformat. Folgende Basisanforderungen müssen demzufolge für Lernmodule erfüllt sein und durch die zu erstellenden Werkzeuge unterstützt werden:

1. Formalisierung (formalisation) 2. Pädagogische Flexibilität (pedagogical flexibility) 3. Explizite Typisierung der Lernobjekte (explicitly typed learning objects) 4. Vollständigkeit (completeness) 5. Reproduzierbarkeit (reproducibility) 6. Personalisierbarkeit (personalization) 7. Neutralität zum Ausgabemedium (medium neutrality) 8. Austauschbarkeit und Nachhaltigkeit (interoperability and sustainability)

92 4.3 XML-basiertes Lehrmodulformat

9. Standardkonformität (compatibility) 10. Wiederverwendung (reusability) 11. Versionierung und Wartung (life cycle)

Das Erstellen von Lehrinhalten, welche sich an die oben aufgeführten Kriterien halten, stellt erhöhte Anforderungen an die Autoren und deren verwendete Autorenumgebung. Jedes Lehrmodul muss demzufolge eine vorab festgelegte Struktur besitzen, um dies algorithmisch weiterverarbeiten zu können (1, 4). Zudem muss sich jedes ausgezeichnete Lernelement durch seine Semantik in die Struktur des Lehrmoduls eingliedern lassen. Dabei sollten verschiedene Ansätze aus der Lehr- und Lerntheorie sowie der Zielgruppe des Lehrmoduls berücksichtigt werden können. Eine Dokumentation muss die Semantik der einzelnen Lernelemente und die Regeln der Auszeichnungen vermitteln (2, 3, 6).

Um die Austauschbarkeit und die Wiederverwendbarkeit der Lehrmodule zu erhöhen, muss jedes Lehrmodul nachhaltig und unabhängig vom Ausgabeme- dium erstellt werden können. Das Erstellen von wiederverwendbaren Lehrmo- dulen ist jedoch aufwändiger und benötigt zusätzliche Zeit. Erst durch den Austausch und die Wiederverwendung zahlt sich der höhere Aufwand langfris- tig aus. Die Struktur des Lehrmoduls muss die Wiederverwendung durch pa- rametrisierbare Auszeichnungen explizit unterstützen (5, 7, 8, 10). Die Lehr- module müssen aus Standardtechnologien für Metadaten, Graphiken, etc. auf- gebaut werden, um für die Erstellung und Wartung der Lehrmodule gängige Werkzeugen einsetzen zu können. Über eine Versionierung der Lehrmodule kann die Zusammenarbeit mit verschiedenen Autoren und die Entwicklung mehrerer Auflagen der Lehrmodule ermöglicht werden (9, 11).

Mit dem ITO-Lehrmodulformat lassen sich Lehrmodule auszeichnen. Das Format besteht aus modularen Komponenten, die jeweils einen speziellen Teilbereich abdecken. Jede Komponente ist mit einem XML Schema be- schrieben [Finsterle et al. 2002]. Im Format erfolgt eine strikte Trennung von Lehrinhalt, Struktur, Layout und Metadaten. Dies fördert die Wiederverwend- barkeit, da die Struktur und das Layout ausgetauscht werden können und so- mit das Lehrmodul unabhängiger vom Kontext wird. Abbildung 4.8 zeigt die

93 4.3 XML-basiertes Lehrmodulformat

Kategorisierung der Tags des ITO-Lehrmodulformats in semantische Absätze, Zeichenfolgen, Objekte, Struktur und Metadaten.

Übung Lösung Referenz Einleitung Index Motivation Schlüsselwort Definition Semantische Absätze Zeichen Wichtig Überleitung Zitat Wissen Dokument Beispiel Titel Metadaten Tabelle Rechte Grafik Objekte Anmerkung Liste Struktur Interne Anmerkung Formel Animation Kapitel Simulation

Abbildung 4.8: Kategorisierung der Tags des ITO-Lehrmodulformats

Der folgender Ausschnitt verdeutlicht exemplarisch den Aufbau eines Lehrmo- duls mit dem Titel „Volume Visualization“. Um die Lesbarkeit zu erhöhen, wurde in der Darstellung die Struktur stark gekürzt und auf die Verwendung von Namespaces verzichtet, um den Ausschnitt nachvollziehbar zu halten. Je- dem Dokument wird eine eindeutige ID zugewiesen. Auch jeder Abschnitt im Dokument trägt diese ID, ergänzt um eine fortlaufende Nummer, anhand derer externe oder interne Referenzen eindeutig modellierbar sind. Textabschnitte und mathematische Ausdrücke können im Lehrmodul an fast jeder Stelle des Dokuments, auch in Kapitelüberschriften und Bildunterschriften, verwendet werden. Im ersten Drittel des Beispiels befindet sich die Einführung des Lehr- moduls mit einem Textabschnitt und einer XML-basierten Graphik. Die Graphik enthält eine Bildunterschrift und eine Annotation, die als Alternativtext dient. Diese kann in einer speziellen textuellen Darstellung für Blinde als Sub- stitut für die Graphik verwendet werden und bei einer taktilen Darstellung der Graphik als Beschreibung die Exploration unterstützen. Im zweiten Drittel be- ginnt das erste Kapitel des Lehrmoduls mit einem Wissensabschnitt. Dieser besteht aus einem Textabschnitt und einer Liste. Das Kapitel endet im letzten

94 4.3 XML-basiertes Lehrmodulformat

Drittel mit einer Definition. Diese beinhaltet ein Schlüsselwort, das speziell ausgezeichnet ist und im folgenden Textabschnitt erläutert wird.

(...) Volume Visualization

Volume visualization is used to (...) <text>Example for Volume Visualization</text> The image illustrates (...) (...) (...) Different grid structures: Structured: uniform, (...) (...) (...) Transfer function The transfer function describes (...) (...)

Metadaten können im ITO-Lehrmodulformat in einer Untermenge des vom In- stitute of Electrical and Electronics Engineers (IEEE) Learning Technology Standards Committee (LTSC) verabschiedeten Standards Learning Object Metadata (LOM) oder Dublin Core der The Dublin Core Metadata Initiative (DCMI) annotiert werden [LOM, Dublin Core]. Erweitert wurde dieser Satz von Attributen um Felder, die eine Eignung des Lehrmoduls für sensorisch be-

95 4.3 XML-basiertes Lehrmodulformat hinderte Menschen beschreiben. In den Metadaten können Informationen über die Lehrmodule gespeichert werden beispielsweise Titel, Ersteller, Themenbereich, Beschreibung, Herausgeber, Erstellungsdatum, Format, Sprache, Rechte, Schwierigkeit, Level der Interaktivität, Kosten bei der Verwendung, etc. Über die Metadaten können Lehrmodule indiziert werden und sind dadurch besser auffindbar. Darüber hinaus lassen sich über die Me- tadaten Beziehungen zwischen den Lehrmaterialien herstellen.

4.4 Transformation ins XML-basierte Lehrmodulformat

Die Umwandlung eines Lehrmoduls, das im nativen Format des Autorensys- tems vorliegt, in das ITO-Lehrmodulformat wird vom ITO-Transformer durch- geführt, der in die Autorenumgebung als PlugIn eingebettet werden kann [Rotard et al. 2004c]. Der Ablauf dieser Transformation ist in Abbildung 4.9 dargestellt.

Autorenwerkzeugformat ITO-Dokumentenformat

Quellformat Ressourcen-PlugIn Ressourcen-PlugIn XML Output

A Le A Le

XML-basierte Graphik XML-basierte Graphik Format Format auslesen ausgeben Resourcen Resourcen Quellformat verarbeiten verarbeiten transformieren Ausgabeformat Ausgabeformat Bitmapgraphik

Quellformat Ausgabeformat -PlugIn -PlugIn Transformations- bibliothek

Abbildung 4.9: Architektur des ITO-Transformers

96 4.4 Transformation ins XML-basierte Lehrmodulformat

Das Quelldokument und alle darin eingebetteten und referenzierten Objekte werden in einem Repository verwaltet. Dabei werden für die Ressourcen inter- ne Darstellung verwendet. Dies ermöglicht einen vom Betriebssystem und vom Format des Quelldokuments unabhängigen Zugriff. In der internen Dar- stellung werden die Referenzen auf Ressourcen abstrahiert, so dass diese un- abhängig von deren Speicherort verwendet werden können. Eine Ressource kann daher auf dem lokalen Rechner oder im Netzwerk liegen. Darüber hin- aus wird die Referenzierung von Dateien in komprimierten Archiven ermöglicht. Die nachfolgenden Transformationsstufen können somit einheitlich auf die Ressourcen zugreifen und erspart die Betrachtung von Sonderfällen.

Den eigentlichen Transformationsprozess bilden eine Abfolge von Trans- formationsstufen, die mit PlugIns erweitert werden können. Die Lernobjekte, die durch die Tags des ITO-Lehrmodulformats kategorisiert sind, werden auf eine Klassenhierarchie abgebildet. Diese entspricht der Hierarchie der XML Schema Definition des ITO-Lehrmodulformats. Damit kann bereits bei der Transformation das erzeugte Format validiert werden. Darüber hinaus ist die Handhabung von Fehlern im Format möglich.

PlugIns auf Basis von Java-Klassen und XSLT-Stylesheets können in den Transformationsprozess eingebunden werden. Ihre Reihenfolge und auf wel- che Ressourcen die PlugIns angewendet werden, ist frei konfigurierbar. Für die Konvertierung verschiedener Medientypen ist es zu Beginn und am Ende des Transformationsprozesses möglich Transcoder einzufügen. Diese können je nach Konfiguration des Prozesses bestimmte Medientypen konvertieren oder forcieren.

Der Hauptbestandteil der Transformation ist die Transformationsbibliothek. Diese wird für die Restrukturierung und Prüfung des Quelldokumentes verwendet. Die vielen atomaren Transformationen basieren auf einem Kon- zept, bei dem ein im Quelldokument vorhandener semantisch ausgezeichne- ter Ausdruck in einen Knoten der XML-basierten Beschreibungssprache um- gewandelt wird. Die Gesamtmenge dieser atomaren Transformationen zu- sammen überführt das mit dem Autorenwerkzeug erstellte Lehrmodul in ein gültiges ITO-Lehrmodulformat.

97 4.4 Transformation ins XML-basierte Lehrmodulformat

Neben Lehrmodulen werden auch Foliensätze als Lehrmaterialien in Lernplatt- formen verwendet. Daher wurde zusätzlich ein Werkzeug entwickelt, mit dem sich Foliensätze in ein XML-basiertes Format überführen lassen [Finsterle et al. 2003]. Das Werkzeug steuert OpenOffice.org über die Schnitt- stelle der Universal Network Objects (UNO) fern. Im Transformationsprozess werden die Foliensätze von Microsoft Powerpoint und OpenOffice Impress ge- laden und die einzelnen Folien automatisiert als SVG gespeichert. An- schließend wird jeder Folie eine Navigation hinzugefügt und eine Übersichts- seite in XHTML erstellt, wodurch die einzelnen Folien direkt ausgewählt werden können.

4.5 Erstellung von Lehrmodulen mit konventionellen Auto- renwerkzeugen

Einige Projekte aus dem Bereich e-Learning haben in den letzten Jahren ihr eigenes Lehrmodulformat definiert und verwendet. Bei vielen Formaten war für die Erstellung eines Lehrmoduls die native Bearbeitung des XML-Quelltexts notwendig. Dies wurde von vielen Autoren als sehr umständlich und nicht in- tuitiv genug aufgefasst. Ein weiteres Problem bei diesem Vorgehen besteht bei der häufig erforderlichen Integration existierender Materialien. Dazu ist meist ein manuelles Vorgehen notwendig, in dem der Text und die Graphiken der vorhandenen Materialien schrittweise in das Lehrmodulformat übertragen und eingefügt werden.

Um eine plattformunabhängige Erstellung von Lehrmodulen zu ermöglichen, wurde im Projekt ITO die freie Software OpenOffice.org verwendet. Auf dieser Basis wurde eine Arbeitsumgebung geschaffen, die den Autoren in allen Pha- sen der Lehrmodulerstellung, wie Auszeichnung, Erstellung, Gliederung, Validierung, Metadaten, Importierung existierender Materialien und Ex- portierung in das ITO-Lehrmodulformat Unterstützung bietet. Dabei konnte in vielen Fällen auf die Basisfunktionalität von OpenOffice.org zurückgegriffen werden.

98 4.5 Erstellung von Lehrmodulen mit konventionellen Autorenwerkzeugen

4.5.1 Auszeichnung von Inhalten mit Formatvorlagen

Die Erstellung von XML-basierten Lehrmodulen ist für Autoren am einfachs- ten, wenn ein gewohntes Autorenwerkzeug dazu verwendet werden kann. Dort sollte die Möglichkeit existieren, Lehrinhalte entsprechend den Strukturen des XML-basierten Lehrmodulformats auszuzeichnen. Die grundlegende Idee bei dem hier vorgestellten Ansatz ist, ein konventionelles Autorenwerkzeug für die Erstellung von Lehrmaterialien einzusetzen und Absätze und Zeichen- ketten mit derselben semantischen Bedeutung mit ITO-spezifischen Format- vorlagen auszuzeichnen. In der anschließenden Transformation werden die Inhalte dieser Formatvorlagen Knoten des XML-basierten Lehrmodulformats zugeordnet.

Durch die Verwendung von Formtvorlagen, die eigentlich für das Layout von Absätzen und Zeichenketten gedacht sind, zur Auszeichnung von seman- tischen Eigenschaften, lassen sich im Speicherformat Struktur und Metadaten daraus ableiten. Nachdem ein Lehrmodul erstellt und entsprechend ausge- zeichnet ist, wird es in einer Transformation in das ITO-Lehrmodulformat über- führt. In dieser Transformation lassen sich auch komplexere knotenüber- greifende Regeln definieren. Beispielsweise können alle mit der Zeichenvor- lage „Schlüsselwort“ ausgezeichneten Zeichenketten, die sich in der Absatz- vorlage „Definition“ befinden, automatisch in das Glossar eingefügt werden [Rotard et al. 2003b].

Bei der Weiterverarbeitung des nativen Autorensystemformats werden aus- schließlich die Bezeichnungen der Formatvorlagen zur Identifikation der se- mantisch ausgezeichneten Inhalte verwendet. Die ausgezeichneten Absätze und Zeichenfolgen werden dabei in das ITO-Lehrmodulformat überführt. Be- reits vor der Entwicklung der ersten Lehrmodule müssen die Bezeichnungen der Formatvorlagen wohldefiniert werden, um eine einheitliche und präzise Verwendung zu gewährleisten. Auch deren Anzahl muss auf die unbedingt notwendigen Vorlagen begrenzt sein, damit diese präzise verwendet werden können. Abbildung 4.10 zeigt beispielhaft ein Dokument im Autorenwerkzeug OpenOffice.org mit Formatvorlagen.

99 4.5 Erstellung von Lehrmodulen mit konventionellen Autorenwerkzeugen

Abbildung 4.10: Autorenumgebung mit OpenOffice.org

Das individuelle Aussehen der einzelnen Absätze wird erst bei der Ausgabe durch die Lernplattform an die Ausgabebedingungen angepasst. Um dem Autor schon beim Schreiben des Lehrmoduls einen Eindruck der späteren Ausgabe zu ermöglichen, ist es sinnvoll, die Layout-Attribute der Formatvor- lagen den späteren Formatierungen anzupassen. Dies entspricht nahezu den Kriterien von What You See Is What You Get (WYSIWYG). Durch die flexible Formatierung der Ausgabe der Lehrmodule auf der Lernplattform kann ein vollständiges WYSIWYG nicht erreicht werden.

Die im ITO-Lehrmodulformat definierten Formatvorlagen entsprechen den in Abbildung 4.8 vorgestellten XML-Tags. Dort sind die Formatvorlagen „Anmerkung“ und „Interne Anmerkung“ aufgeführt. Die Vorlage „Anmerkung“ ermöglicht Autoren, dem Lehrmodul zusätzliche Informationen hinzuzufügen.

100 4.5 Erstellung von Lehrmodulen mit konventionellen Autorenwerkzeugen

Insbesondere für blinde Lernende ist die Existenz von zusätzlichen beschreibenden Informationen bei Graphiken, Animationen und Simulationen besonders relevant, um die wesentlichen Aussagen dieser multimedialen Elemente trotz ihrer Behinderung zu erfahren. Darüber hinaus kann es für Autoren auch wichtig sein, eigene Kommentare in das Lehrmodul einzufügen, wie beispielsweise der Status von Absätzen, Korrekturhinweise, Ein- fügeerinnerung, etc. Dafür wird die Formatvorlage „Interne Anmerkung“ verwendet.

Von den aufgeführten Objekt-Formatvorlagen sind „Tabelle“, „Liste“ und „Formel“ implizit. Dies bedeutet, dass bereits im nativen Speicherformat bei deren Einfügung in das Lehrmodul eine Datenstruktur angelegt wird. Bei der anschließenden Überführung in das ITO-Lehrmodulformat können die ge- nannten Objekte identifiziert und entsprechend als Objekt ausgezeichnet werden. In diesem Transformationsschritt lassen sich zudem Verzeichnisse wie beispielsweise Inhalts-, Abbildungs-, Tabellen-, Stichwortverzeichnis und Glossar automatisiert generieren. Mit Hilfe von speziellen Regeln kann de- finiert werden, dass jedes „Schlüsselwort“ in einem „Definitions“-Absatz automatisch in Glossar und Index eingefügt oder automatisch den Metadaten des Lehrmoduls zugeordnet wird.

4.5.2 Assistenten zur Unterstützung der Auszeichnung

Das oben geschilderte Auszeichnen von Lehrmodulen ist bei einfachen Ab- sätzen und Zeichenfolgen trivial, es gestaltet sich aber bei komplexeren Objekten wie Graphiken, Animationen, Simulationen, etc. schwieriger. Mit Hilfe von speziellen unterstützenden interaktiven Programmen, sogenannten Assis- tenten, können die entsprechenden Parameter zu diesen Objekten schritt- weise eingegeben oder ausgewählt werden. Bei komplexeren Objekten spielen beispielsweise die Darstellungsparameter, die Angaben über Objekt- typ, Aufrufparameter, Multipurpose Internet Mail Extensions Type (MIME- Type), die URI zum Objekt, Darstellungsgrößen, etc. eine wichtige Rolle. Beim Einfügen mit Hilfe eines Assistenten können darüber hinaus zugehörige Alternativtexte und Metadaten erfasst werden. Abbildung 4.11 stellt auszugs- weise Dialogschritte eines Assistenten dar, mit dem Autoren graphische Objekte einfügen können.

101 4.5 Erstellung von Lehrmodulen mit konventionellen Autorenwerkzeugen

Abbildung 4.11: Assistent zum Einfügen graphischer Objekte

Insbesonders kann das Verwalten und Hinzufügen von Referenzen mit einem Assistenten vereinfacht werden. Bei Referenzen werden Literaturreferenzen und Referenzen auf Dokumente im Web unterschieden. Für deren Modellierung ist nur eine Formatvorlage „Referenz“ notwendig, da aus dem Aufbau der ausgezeichneten Zeichenfolge zwischen Uniform Resource Identi- fiers (URI) und Literaturreferenzen unterschieden werden kann [URI]. Um Lite- raturreferenzen in mehreren Lehrmodulen verwenden zu können, ist es auch möglich, externe Literaturreferenzen einzubinden. Dabei werden die verwendeten Literaturdatensätze in einer zentralen Datenbank abgelegt, die über die Lernplattform gepflegt werden kann. Mit Hilfe eines Assistenten kann dann aus der Autorenumgebung heraus auf die Datenbank zugegriffen werden und der Literatureintrag in das aktuelle Lehrmodul eingefügt werden. In der Lernplattform Metacoon wird dazu der Dialog in Abbildung 4.12 verwendet.

102 4.5 Erstellung von Lehrmodulen mit konventionellen Autorenwerkzeugen

Abbildung 4.12: Dialog für das Einfügen von Literaturreferenzen aus der Literaturdatenbank der Lernplattform

Ein weiteres Einsatzgebiet eines interaktiven Assistenten ist das Anlegen von neuen Lehrmodulen. Dazu unterstützt er den Autor beim Zuweisen des Lehr- modulnamens und auch beim Eintragen von Metadaten, Anmerkungen etc. Zum Hinzufügen der umfangreichen Metadaten wird ein Dialog verwendet, der dem Benutzer die Attribute und Felder übersichtlich darstellt. Abbildung 4.13 stellt den Dialog zur Annotation der Lehrmodule mit Metadaten im Standard Dublin Core für die Lernplattform Metacoon dar, die das ITO-Lehrmodulformat verwendet.

Beim Export eines Lehrmoduls kann ein Assistent helfen, die Ausgabe der je- weiligen Zielgruppe anzupassen. Um Versionen ohne XML-basierte Graphiken zu erzeugen, können dabei die vorhandenen XML-basierten Graphiken automatisch durch Rastergraphiken ersetzt werden. Außerdem ist es möglich, mathematische Ausdrücke in eine Notation für Blinde zu trans- formieren (siehe Kapitel 5). Um dies zu gewährleisten, werden Lehrmaterialien aus dem ITO-Lehrmodulformat im Zuge einer parametrisierbaren Transforma- tion mit XSLT aufbereitet. Das Ausgabeformat kann dabei für die Lernplattform im Web XHTML oder ein anderes, selbst definiertes Format sein. Erst bei diesem Vorgang wird das individuelle Layout den Lehrmaterialien zugewiesen, was die Wiederverwendung und den Austausch vereinfacht. Ein vollständiger

103 4.5 Erstellung von Lehrmodulen mit konventionellen Autorenwerkzeugen

Kurs kann aus den so erzeugten Modulen individuell zusammengesetzt werden.

Abbildung 4.13: Dialog für das Einfügen und Bearbeiten der Metadaten eines Lehrmoduls

4.6 Ergebnisse

In diesem Kapitel wurden Methoden für die nachhaltige Erstellung von Lehr- modulen mit konventionellen Autorensystemen vorgestellt. Dazu wurde eine Transformation von Lehrmaterialien in ein Lehrmodulformat beschrieben, die es ermöglicht XML-basierte Graphiken zu integrieren. Dadurch kann die Aus- gabe der Lehrmodule flexibel angepasst werden. Als Lehrmodulformat wurde das im Projekt ITO definierte Format vorgestellt und an Beispielen illustriert.

Die Erstellung von Lehrmodulen mit Hilfe des beschriebenen Verfahrens führte zu positiven Reaktionen durch die Autoren und Lernenden. Die Autoren erlernten schnell die Auszeichnung von Inhalten und machten dabei nur

104 4.6 Ergebnisse wenige Fehler in der Strukturierung. Eine Liste der „häufig gestellten Fragen“ stellte sich als wichtiges Hilfsmittel zur Einarbeitung heraus. Die Unterstützung durch interaktive Assistenten vereinfachte den Umgang mit komplexen Objek- ten für die Autoren wesentlich.

Der hier eingeschlagene Weg zur Erstellung von wiederverwendbaren Lehr- modulen mit konventionellen Autorenwerkzeugen ist ein tragfähiges Konzept, das durch die Verwendung an Instituten mehrerer Universitäten und Institu- tionen bestätigt wird. Trotz der erst kurzen Verfügbarkeit des Werkzeugs, sind Anwender unter anderem an der Bauhaus-Universität Weimar, der Friedrich- Schiller-Universität Jena, der Technischen Universität Ilmenau, der Universität Erfurt, der Fachhochschule Nordhausen, dem Thüringer Ministerium für Wirt- schaft, Technologie und Arbeit, dem Bayrischen Roten Kreuz und der Gesell- schaft für Arbeits- und Wirtschaftsförderung des Freistaates Thüringen zu finden.

Das hier vorgestellte Konzept ist auf andere Autorenwerkzeuge übertragbar. Die Umsetzung erfordert aber ein jeweils angepasstes Vorgehen bei der Im- plementierung der Assistenten und PlugIns. Der dafür notwendig Aufwand hängt von den Schnittstellen des Autorensystems und deren Dokumentation ab.

105 4.6 Ergebnisse

106 5 Zugang blinder Menschen zu XML-basierter Graphik

5 Zugang blinder Menschen zu XML-basierter Graphik The power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect.

Tim Berners-Lee, Director of the World Wide Web Consortium

5 Zugang blinder Menschen zu XML-basierter Graphik

Blinden Menschen standen in der Vergangenheit fast ausschließlich Berufe wie BürstenmacherIn, MasseurIn oder TelefonistIn offen. In den letzten Jahren wurden diese Möglichkeiten um weitere Berufsbilder ergänzt. Voraussetzung dafür ist, dass viele Dokumente wie Lehrmaterialien, Bücher, etc. bereits in di- gitaler Form vorliegen. Durch taktile und akustische Umsetzungen werden diese für blinde Menschen zugänglich. In vielen Ländern wurden bereits Ver- ordnungen erlassen, die den sogenannten barrierefreien Zugang zu Informa- tionen auf Webseiten von staatlich geförderten Organisationen für alle Men- schen verpflichtend vorschreiben.

Die von Louis Braille 1820 entwickelte Brailleschrift machte textuelle Informati- on blinden Menschen zugänglich. Ursprünglich bestand jedes Zeichen der Schrift aus sechs Punkten, als Raster von drei Zeilen und zwei Spalten. Auf diese Weise können 64 unterschiedliche Zeichen dargestellt werden. Die Punkte sind taktil und werden in der Regel mit der Fingerkuppe erfühlt.

Für die Arbeit am Computer reichen die 64 Zeichen in der Regel nicht aus, deshalb wurde für diesen Zweck das Raster um eine weitere Zeile mit zwei Punkten ergänzt. Dadurch erhöht sich die Anzahl der darstellbaren Zeichen auf 256. Die Zeichen können je nach Codierung unterschiedliche semantische Bedeutung haben. Als Notationen existieren beispielsweise auch Codierungen für mathematische Ausdrücke und für Musiknoten. Um Informationen taktil darzustellen, werden spezielle Geräte benötigt. Die Schriftzeichen können auf einer Braillezeile oder auf einem Brailledrucker ausgegeben werden. Darüber hinaus ist der Zugang zu Text über die Sprachausgabe möglich.

107 5 Zugang blinder Menschen zu XML-basierter Graphik

Graphiken liegen in herkömmlichen Dokumenten oft als Rastergraphik vor, da- her werden für die Aufbereitung Optical Character Recognition (OCR) Verfah- ren verwendet. Die Erkennung von Texten und geometrischen Formen mit sol- chen Verfahren ist ein nicht triviales Problem und kann zu ungenauen Ergeb- nissen führen [Lokowandt et al. 1994, Schweikhardt 1996]. Das Erkennen von graphischen Objekten in einer taktilen Darstellung ist eine große Heraus- forderung für blinde Menschen und bedarf eines intensiven Trainings [Weber et al. 1994]. Mit einer geeigneten taktilen Repräsentation können auch die Widgets graphischer Benutzungsoberflächen zugänglich gemacht werden [Gunzenhäuser et al. 1994]. Auch mathematische Ausdrücke werden meist als Rastergraphik dargestellt, wodurch die Vermittlung von Lehrinhalten im schu- lischen und wissenschaftlichen Bereich für blinde Menschen erschwert wird.

In den folgenden Abschnitten wird auf die computergenerierte taktile Darstel- lung von Graphiken und die Aufbereitung von XML-basierten Graphiken in Form von mathematischen Ausdrücken, 2D-Graphiken und 3D-Graphiken für blinde Menschen eingegangen. Solche speziellen Aufbereitungen sind nur da- durch möglich, dass sich die XML-basierte Beschreibung der Graphiken auf einfache Weise weiterverarbeiten lässt. Im letzten Abschnitt wird ein taktiler Web-Browser beschrieben, der die zuvor vorgestellten Konzepte integriert und blinden Menschen den Zugang zu einer zweidimensionalen Repräsentation von Webseiten ermöglicht.

Die Transformation von mathematischen Ausdrücken in eine Notation für Blinde wurde mit Klaus Bosse und Waltraud Schweikhardt in [Rotard et al. 2003a] publiziert. Der Zugang blinder Menschen zu XML-ba- sierten 2D-Graphiken wurde mit Kerstin Otte in [Rotard et al. 2004a] und in [Rotard et al. 2004b] beschrieben. Verfahren für den Zugang blinder Men- schen zu 3D-Graphiken wurden in [Rotard 2004g] vorgestellt. Der taktile Web- Browser wurde zusammen mit Sven Knödler publiziert in [Rotard et al. 2005c].

5.1 Vorausgegangene Arbeiten

Schon im 19. Jahrhundert wurden im Schulunterricht von blinden Menschen geometrische Körper aus Holz verwendet. Buchstaben und Diagramme wurden mit Draht und Knetmasse modelliert. Viele Lehrmaterialien wurden

108 5.1 Vorausgegangene Arbeiten von ihren Familienangehörigen angefertigt. Mitte des 20. Jahrhunderts vereinfachten Zeichenfolien und Schwellpapier die taktile Darstellung von Graphiken.

Zweidimensionale taktile Graphiken wurden schon 1985 von Thomas Fehrle auf einer Stiftmatrix vorgestellt [Fehrle 1985]. Bereits in den neunziger Jahren des letzten Jahrhunderts wurden von Waltraud Schweikhardt und Klaus Klöpfer Bildschirmtextseiten und von Dirk Kochanek Hypertextdokumente auf einem taktilen Ausgabegerät dargestellt [Schweikhardt et al. 1984, Kochanek 1990]. Kriterien für die Aufbereitung von Hypertext-Systemen für blinde Menschen wurden von Thomas Kahlisch aufgestellt [Kahlisch 1998]. Martin Kurze beschreibt Algorithmen zur Erkundung von Grafiken und die computergenerierten Darstellung räumlicher Gegenstände für Blinde auf takti- len Medien [Kurze 1999]. Sybille Esche stellt ein Konzept zur Zuordnung von Farben zu Farbnamen vor [Esche 1985]. Friedrich Lüthi entwickelte mit TA- WIS (Tastbare Windows mit Sprachausgabe) den ersten Screenreader, der Stiftmatrixgraphiken unterstützt [Lüthi 1999]. Interaktionen blinder Menschen mit 3D-Graphikszenen und die Erkennung von dreidimensionalen Objekten wurden von Yoshihiro Kawai, Fumiaki Tomita und Martin Kurze erforscht [Kawai et al. 1996, Kurze 1997]. Eine Transformation von zweidimensionalen Dokumenten in eine taktile Repräsentation für blinde Menschen mit Constraints wurde von Gottfried Zimmermann vorgestellt [Zimmermann 1998]. Ein Überblick über Methoden zur Darstellung von 3D-Graphiken für blinde Menschen wurde von Kevin Christian erarbeitet und bewertet [Christian 2000].

Mathematische Notationen für Blinde ermöglichen die Darstellung von mathe- matischen Ausdrücken auf der Braillezeile. Mehrere Forschungsinstitutionen haben eigene mathematische Notationen definiert, beispielsweise die Interna- tionale Mathematikschrift der Deutschen Blindenstudienanstalt Marburg e.V., der Nemeth Braille Code for Mathematics von Abraham Nemeth und die AS- CII-Mathematikschrift für Blinde (AMS) der Universitäten Karlsruhe und Dres- den [Epheser et al. 1986, Nemeth 1998, AMS 1994]. An manchen Universitä- ten oder Institutionen wird die Verwendung von LaTeX einer speziellen mathe- matischen Notation für Blinde vorgezogen [Meyer zu Bexten et al. 2000, Aldridge 2002]. An der Universität Stuttgart wird seit 1980 die auf 8-Punkten basierende Stuttgarter Mathematikschrift für Blinde entwickelt, die heute Stutt-

109 5.1 Vorausgegangene Arbeiten gart Mathematical Notation for the Blind (SMFB) genannt wurde [Schweikhardt 1980]. Mit der 8-Punkt-Schrift können beispielsweise Zeichen für die Quadratwurzel, das Integral und andere mathematische Operatoren di- rekt dargestellt werden. In SMFB gibt es auch eine Repräsentation für Se- hende. Abbildung 5.1 stellt einen mathematischen Ausdruck für Sehende, in der SMFB-Notation in Brailleschrift und in der korrespondierenden Notation für Sehende vergleichend dar.

Sofern ein mathematischer Ausdruck in MathML beschrieben wurde, kann dieser in unterschiedliche Notationen für Blinde transformiert werden [Karshmer et al. 2004]. Aktuelle Forschungen über Transformationen von ma- thematischen Ausdrücken, die in MathML beschrieben sind, in mathematische Notationen für Blinde, sind in [Archambault et al. 2004, Karshmer et al. 2001, Lambda] zu finden. Auch ist die Überführung von mathematischen Aus- drücken, die mit MathML beschrieben wurden, in LaTeX möglich [XSLTML- Lib]. In Abbildung 5.2 ist der oben aufgeführte Ausdruck in LaTeX dargestellt. $\sqrt{\frac{x}{y}}$ Abbildung 5.2: Mathematischer Ausdruck in LaTeX

XML-basierte Graphiken bieten heute zahlreiche Möglichkeiten, den Zugang zur graphischen Information für blinde Menschen zu verbessern. Aktivitäten in diesem Bereich wurden von der Web Accessibility Initiative des W3Cs initiiert [WAI, Jackson 2003]. Charles McCathieNevile und Marja-Riitta Koivunen stellen Richtlinien auf, wie Graphiken in SVG erzeugt werden müssen, um für sensorisch Behinderte zugänglich zu sein [McCathieNevile et al. 2002]. Weite- re Veröffentlichungen beschreiben das Auslesen von Metainformationen [Herman et al. 2002], die Darstellung von Karten [Campin et al. 2003] und das Drucken von SVG mit Blindendruckern [Gardner et al. 2001].

110 5.2 Computergenerierte Darstellung von taktiler Graphik

5.2 Computergenerierte Darstellung von taktiler Graphik

Das Erkennen und Verstehen von Graphiken unterscheidet sich bei blinden Menschen von Sehenden. Beim visuellen Wahrnehmen eines Gegenstands in einer Abbildung entsteht für Sehende nahezu derselbe Eindruck wie beim Be- trachten des realen Gegenstands selbst [Fromm 1993]. Durch eine perspek- tivische Darstellung wird der räumliche Eindruck vom Gegenstand bewirkt. Bei Blinden ist dies anders. Für blinde Menschen sind die Begrenzungskanten besonders wichtig bei der Erkennung eines Gegenstands in taktilen Darstel- lungen. Die Verwendung von räumlichen Darstellungen können dabei sogar stören [Beyer 1995]. Die Fähigkeit des Erkennens hängt von Faktoren ab, wie dem Tastvermögen, der Komplexität der Abbildung, dem Kontext, dem verwendeten taktilen Darstellungsverfahren, dem Zeitpunkt der Erblindung etc. Für die Darstellung von taktilen Graphiken gibt es mehrere Verfahren, von denen eine Auswahl im Folgenden beschrieben werden.

Bei der Ausgabe von ASCII-Graphiken genügt die Braillezeile als Ausgabeme- dium [SZS 2001]. Darauf werden Graphiken aus den Zeichen +, -, <, >, ^, v, /, |, \, etc. aufgebaut und können zeilenweise ertastet werden. ASCII-Graphiken können zwar schnell ausgegeben werden, stoßen aber bei Kurven und anderen komplexeren Darstellungen schnell an ihre Grenzen.

Eine häufig genutzte Möglichkeit ist, Graphiken mit Hilfe von Brailledruckern auszugeben. Diese prägen punktförmige Erhebungen in Papier, wodurch die Graphiken tastbar werden. Manche Drucker können die Prägestärke variieren, so dass unterschiedlich hohe Punkte entstehen [Sahyun 1998]. Durch mehrfa- ches aufeinanderfolgendes Drucken, ist ein sukzessives interaktives Erstellen von Graphiken möglich. Diese Interaktivität ist jedoch eingeschränkt, da be- reits erstellte Prägungen nicht mehr geändert werden können.

Computergenerierte Darstellungen von Graphiken können auch taktil auf Stoff gestickt werden [Muschalek 1995]. Dazu sind computergesteuerte Nähma- schinen notwendig. Unterschiedliche Linientypen werden über die Verwendung von verschiedenen Fadentypen und Mustern erreicht. Diese Ergebnisse sind qualitativ besser als die von Brailledruckern, jedoch ist die In- teraktivität bei diesem Verfahren nur sehr eingeschränkt möglich.

111 5.2 Computergenerierte Darstellung von taktiler Graphik

Taktile Erhöhungen von wenigen Millimetern können auf speziellem Schwell- papier erzeugt werden. Dieses besitzt eingekapseltes Butangas, das sich an der erhitzten Stelle um circa 1mm ausdehnt. Der Vorteil dabei ist die hohe Auf- lösung und die Darstellbarkeit von stetigen Kanten und Flächen. Nachteilig ist der aufwändige Prozess der Erstellung von Schwellgraphiken, da zuerst ein Ausdruck auf normalem Papier angefertigt werden muss, der dann auf das Schwellpapier kopiert wird [SZS 2001]. Abbildung 5.3 stellt eine Liniendarstel- lung auf Schwellpapier als Detailskizze schematisch dar.

Abbildung 5.3: Detailskizze einer Liniendarstellung als Schwell- und Stiftmatrixgraphik

Stiftmatrixgraphiken werden mit speziellen Ausgabegeräten wie der Stuttgarter Stiftplatte (Abbildung 5.4) dargestellt. Damit können Stifte, die in einer Matrix angeordnet sind, einzeln angehoben oder abgesenkt werden. Für jeden Stift gibt es daher nur zwei Zustände. Die Auflösung der Geräte reicht von 16x16 bis zu 120x60 Stiften. Vorteile dieses Verfahrens sind die schnelle Ausgabe, die Animationsfähigkeit und die Möglichkeit des interaktiven Arbeitens. Man- che Geräte können darüber hinaus die Position der Finger ermitteln. Der Nachteil ist die diskretisierte Form der Darstellung, mit der Linien und Flächen nicht stetig abgebildet werden können. In Abbildung 5.3 ist rechts die schema- tische Darstellung einer Linie als Stiftmatrixgraphik dargestellt.

Aufgrund der schnellen und direkten Ansteuerung mit dem Computer eignen sich Stiftmatrixgraphiken besonders für die Ausgabe interaktiver taktiler Graphik. Daher werden im Folgenden ausschließlich Darstellungen als Stift- matrixgraphik betrachtet. Für die vorgestellten Methoden und Algorithmen wird dabei eine minimale Auflösung des taktilen Ausgabegeräts von 80x40 Stiften vorausgesetzt. Die für diese Arbeit verwendete Stuttgarter Stiftplatte der Firma Metec hat 120x60 Stifte in einer Darstellungsfläche von 37x19 cm. Ausgabe-

112 5.2 Computergenerierte Darstellung von taktiler Graphik

Abbildung 5.4: Stuttgarter Stiftplatte mit einer Auflösung von 120x60 Stiften geräte mit niedrigeren Auflösungen können als sogenannte virtuelle Graphik- displays verwendet werden [Fricke 1995]. Dazu tastet eine Hand auf dem Ausgabegerät und die andere Hand steuert den angezeigten Ausschnitt über beispielsweise die Maus (passives Tasten genannt). Die im Folgenden vorge- stellten Methoden können dadurch auch auf diesen Ausgabegeräten einge- setzt werden. Die Erkennung von Graphiken mit diesem Verfahren ist ins- besondere bei Diagrammen schwieriger als bei aktivem Tasten.

Um ein dynamisches Scrollen zu ermöglichen, wird bei kleinen Geräten vor- ausgesetzt, dass deren Stifte mit Bildwiederholraten von über 20 Hertz ange- steuert werden können. Die vorgestellten Verfahren setzen lediglich die mono- chrome Darstellungsfähigkeit von Graphik voraus, indem jeder Stift aus- schließlich erhaben oder abgesenkt positioniert werden kann. Zukünftige Aus- gabegeräte werden aber verschieden hohe Stiftpositionen ansteuern können. Dadurch werden Darstellungen mit beispielsweise unterschiedlicher Ko- dierung für Farben oder für Ränder und Füllungen von Objekten möglich.

5.3 Mathematische Ausdrücke

Mathematische Ausdrücke besitzen eine starke Aussagekraft und sind die kompakteste Form, technisch-naturwissenschaftliches Wissen darzustellen. Auf eine Verbalisierung der mathematischen Aussage im Kontext wird deshalb

113 5.3 Mathematische Ausdrücke meist verzichtet. Auch die Verwendung von Ausdrücken direkt im Fließtext ist geläufig, wie beispielsweise griechische oder altdeutsche Zeichen. Bei der Verwendung von Rastergraphik zur Darstellung von mathematischen Aus- drücken sind diese für blinde Menschen über die Sprachausgabe oder Braille- zeile nicht zugänglich, da der wesentliche semantische Inhalt durch die Diskretisierung der Graphik verloren gegangen ist. Werden die mathema- tischen Ausdrücke dagegen als XML-basierte Graphik mit MathML be- schrieben, dann ist diese textuelle Beschreibung für Blinde zugänglich, wie folgendes Beispiel einer Wurzel aus einem Bruch zeigt.

x y

Für die meisten Menschen ist es jedoch schwierig, die Aussage aus der um- fangreichen XML-basierten Beschreibung zu interpretieren. Dies wird bereits an dem obigen kurzen Beispiel deutlich. Deshalb bietet sich eine Transformati- on der Beschreibung des mathematischen Ausdrucks von MathML in eine ma- thematische Notation für Blinde wie SMFB an [Bosse 2002]. Abbildung 5.5

114 5.3 Mathematische Ausdrücke stellt schematisch diesen Vorgang dar. Jedem Teilausdruck der Beschreibung in MathML ist ein Teilausdruck in SMFB zugeordnet. Für die Darstellung von SMFB werden Zeichen des Unicode-Zeichensatzes verwendet [Unicode].

Bei dieser Transformation ist die Verwendung von XSLT vorteilhaft, da die Umwandlung von Teilausdrücken auf einfache Weise in sogenannten Templa- tes formuliert werden kann. In der Transformation wird jedes MathML-Element durch ein entsprechendes SMFB-Zeichen ersetzt, mit XHTML positioniert und mit CSS formatiert. Die Transformation wurde in dem Stylesheet so formuliert, dass alle Knoten, die nicht umgeformt werden müssen, in das Ausgabeformat kopiert werden. Auf diese Weise lassen sich auch Webseiten transformieren, wobei nur die darin enthaltenen mathematischen Ausdrücke in MathML durch SMFB-Formeln ersetzt werden. Alle anderen Inhalte bleiben erhalten [Rotard et al. 2003a]. Im folgenden XSLT-Template ist die Umwandlung einer Wurzel von MathML in SMFB aufgeführt. Um die Lesbarkeit zu erhöhen, wurde allerdings auf die Verwendung von Variablen verzichtet, die für die Steuerung der gesamten Transformation notwendig sind. Als Start- und End- zeichen für die Wurzel werden Unicode-Zeichen verwendet, die den beiden Variablen BeginRadicalBase und EndRadicalBase zugeordnet sind.

(...) (..)

Im obigen XSLT-Template wird nur die Transformation der Wurzel dargestellt. Der Radikand wird dabei nicht betrachtet. Um diesen zu transformieren werden mit weitere Templates aufgerufen, die diese Aufgabe durchführen. Durch das Abarbeiten der Templates für jeden Teilaus- druck wird die gesamte Beschreibung des Dokuments transformiert.

Die Verwendung von XSLT ermöglicht es, die Transformation mit wenig Auf- wand in eine virtuelle Lernumgebung einzubinden. Die Überführung der ma- thematischen Ausdrücke in eine Notation für blinde Menschen kann dadurch ohne zusätzlichen Installationsaufwand für den Lernenden ablaufen. Die in

115 5.3 Mathematische Ausdrücke

Kapitel 4 vorgestellte Lernplattform verfügt über ein Konfigurationsmenü für das Profil der Lernenden. Dort kann neben der blindengerechten Darstellung auch die für mathematische Ausdrücke bevorzugte Notation konfiguriert werden. Jede vom Server der Lernplattform an den Web-Browser des Ler- nenden ausgelieferte Webseite wird dann entsprechend der Konfiguration transformiert. Dadurch kann jedem Lernenden individuell der Zugang zu ma- thematischen Ausdrücken in den Lehrmodulen ermöglicht werden. Für den Zugang zu diesen transformierten Formeln in SMFB, müssen die verwendeten

Abbildung 5.6: Transformation der mathematischen Ausdrücke in einem Lehrmodul von MathML in der oberen Darstellung, in SMFB in der Mitte und in LaTeX unten.

116 5.3 Mathematische Ausdrücke

Screenreader und Braillezeilen Unicode-Zeichen verarbeiten können. Bereits in naher Zukunft werden Produkte auf den Markt kommen, die diese Unter- stützung bieten.

Die Ergebnisse einer Transformation der mathematischen Ausdrücke in Lehr- modulen sind exemplarisch in Abbildung 5.6 dargestellt. Dort wurden alle Aus- drücke von MathML in SMFB und LaTeX transformiert. Die im Lehrmodul ent- haltene Rastergraphik besitzt als Titel darunter eine Formel, die auch in der Transformation berücksichtigt wird.

5.4 2D-Graphiken

Graphiken sind für blinde Menschen nur schwer zugänglich. Mit taktilen Aus- gabegeräten können speziell aufbereitete Graphiken für blinde Menschen dargestellt werden. Wegen der niedrigen Auflösung der Geräte müssen die Graphiken kleiner skaliert und in der Farbenzahl auf die Hinter- und Vordergrundfarbe reduziert werden. Abbildung 5.7 zeigt eine aufbereitete 2D- Graphik eines Balkendiagramms auf einem taktilen Ausgabegerät [Rotard et al. 2004a].

Abbildung 5.7: Balkendiagramm auf einem taktilen Ausgabegerät

117 5.4 2D-Graphiken

Diese Aufbereitung fällt bei Rastergraphiken mit OCR-Verfahren schwer, da im Allgemeinen aus dem Dateiformat keine Metainformationen wie Titel, Beschreibung, textueller Inhalt, enthaltene geometrische Formen, Linien- dicken, etc. gespeichert werden. Vektorgraphiken haben für diesen Anwendungsfall Vorzüge, da eine verlustfreie Skalierung damit möglich ist und Metainformationen zur gesamten Graphik sowie zu den einzelnen Komponenten direkt ausgelesen und bei der Aufbereitung verwendet werden können. Dies ermöglicht eine Exploration der Graphiken und das selektive Anwenden von Filtern.

Abbildung 5.8: Anwendung zur interaktiven Aufbereitung von SVG für die taktile Darstellung

Abbildung 5.8 zeigt die graphische Benutzungsoberfläche, in der eine Simu- lation der taktilen Ausgabe dargestellt wird. Die Benutzungsoberfläche ist für blinde Benutzer zugänglich und kann sowohl von Entwicklern als auch

118 5.4 2D-Graphiken

Benutzern verwendet werden. Im unteren Teil wird die in der Auflösung redu- zierte originale Graphik und im oberen Teil die Simulation der taktilen Ausgabe mit angewendeten Modi und Filtern dargestellt.

In den folgenden Abschnitten wird auf das Schema zur Transformation von XML-basierter zweidimensionaler Vektorgraphik in eine taktile Repräsentation eingegangen. Danach werden die Möglichkeiten zur Steuerung der Explorati- on der Graphiken vorgestellt. Im letzten Abschnitt werden Filter beschrieben, die interaktiv zur Exploration eingesetzt werden können und die Komplexität von Graphiken reduzieren.

5.4.1 Transformationsschema

Für die Überführung einer 2D-Vektorgraphik in eine taktile Repräsentation sind mehrere Transformationsschritte notwendig, die in Abbildung 5.9 für SVG dargestellt sind [Rotard et al. 2004b]. Nach dem Laden aller Komponenten, aus denen die Graphik besteht, wird eine Vorverarbeitung durchgeführt. Exter- ne und interne CSS-Formatdefinitionen werden analysiert und für die folgenden Zugriffe auf die Datenstruktur zugänglich gemacht. In einem Optimierungsschritt werden leere Gruppen entfernt. Zudem werden Gruppen eliminiert, die nur ein Element besitzen. Die Elemente selbst werden dann an- stelle der Gruppe in die Beschreibung aufgenommen und deren Attribute ent- sprechend umgeformt. Eine weitere Methode analysiert die Objekte, die den Hintergrund bilden. Die Farbe der Füllung des ermittelten Objekts wird als Referenz für die Farbumwandlungen in den nächsten Schritten benötigt. An- schließend werden für jedes Element und jede Gruppe Metadaten extrahiert und in einem Strukturbaum abgelegt.

Da textuelle Informationen sehr wertvoll für die Exploration sind, werden dar- über hinaus die Attribute „name“ und „id“ ausgewertet, um eventuelle Bezeich- nungen zu extrahieren. Der Strukturbaum ist entsprechend dem DOM-Baum aufgebaut und wird zur Navigation und zur Generierung der Texte benötigt, die auf der Braillezeile angezeigt und mit Sprachausgabe ausgegeben werden. Beispiele für Metadaten sind Titel und Beschreibung des Elements, der Elementtyp, die Farben des Randes und der Füllung, etc.

119 5.4 2D-Graphiken

SVG Original CSS-Verarbeitung Optimierung der Dokumentstruktur Analyse der Hintergrundfarbe Aufbau des Strukturbaums Räumliche Sortierung Kategorisierung der Farbinformation Struktur-/DOM-Baum Benutzer Interaktion: Auswahl von Objekt/Filter/Modus Textgenerierung für Filterung Braillezeile und Sprachausgabe Farbanpassung: Hintergrundfarbe = weiss Vordergrundfarbe = schwarz Gefiltertes DOM Rasterisierung

Schwarz/Weiss Rastergraphik Abbildung auf Stiftzustand: weiss = nicht erhaben schwarz = erhaben Taktile Graphik Brailletext Sprachausgabe

Abbildung 5.9: Schema für die Transformation einer SVG in eine taktile Darstellung Bei Elementen mit textuellem Inhalt wird auch der Text in den Strukturbaum übernommen. Für jeden Eintrag werden die Begrenzungskanten berechnet und anschließend im Strukturbaum von links nach rechts und oben nach un- ten sortiert. Dadurch ist ein Aufbau der Graphik in einer räumlichen Reihen- folge möglich. Sortiert werden ausschließlich die Referenzen im Strukturbaum auf die Knoten des DOM-Baums. Eine Sortierung direkt in der Beschreibung der Graphik würde die Tiefensortierung zerstören [Otte 2004].

Als letzte Methode der Vorverarbeitung werden die in der Graphik enthaltenen Farbinformationen kategorisiert und im Strukturbaum abgelegt. Die Farb- information von Elementen kann neben der Angabe des RGB-Farbwerts über einen der 147 SVG-Farbnamen definiert werden. Für die Ausgabe der Farb- information auf der Braillezeile und als Sprachausgabe werden diese Farb- namen verwendet. Dazu muss zuvor allen vorkommenden RGB-Farbwerten aus Rändern und Füllungen der farbähnlichste SVG-Farbnamen zugewiesen werden.

120 5.4 2D-Graphiken

Der Farbraum, in dem die Umwandlung stattfindet, muss an die menschliche Farbwahrnehmung angelehnt sein. Deshalb wurde der L*a*b-Farbraum der Commission Internationale de l'Eclairage (CIE) gewählt, dessen Komponenten die Luminanz und die Differenzen des grün-rot und blau-gelb Farbanteils sind [McLaren 1976]. Für die Berechnung der Transformation eines RGB-Farb- werts in den L*a*b-Farbraum sei auf [Fairchild 1998] verwiesen. Die Umwand- lung eines RGB-Farbwertes in den farbähnlichsten SVG-Farbnamen erfolgt über die Berechung des geringsten Euklidischen Abstands des Farbwertes zu allen anderen Farbwerten, die einen zugeordneten Farbnamen besitzen. Das selbe Verfahren wird verwendet, um die Farbwerte der Elemente den vom Benutzer aktivierbaren Farbfiltern zuzuordnen. Bei der Aktivierung von Farb- filtern ist es von Vorteil, wenn einem bestimmten Farbwert mehrere Farb- namen zugewiesen werden können. Dazu wird das Verfahren erweitert und einem Farbwert mehrere Farbnamen zugewiesen, wenn diese eine Distanz unter einem Schwellwert besitzen. Beispielsweise wird die gelbgrüne Farbe einer unreifen Banane bei der Filterung den Farbnamen gelb und grün zuge- ordnet. Die Metainformation über die gelbgrüne Farbe wird nicht unter- schlagen, sondern über die Braillezeile oder die Sprachausgabe dem Benutzer mitgeteilt.

Nachdem die Vorverarbeitung abgeschlossen ist, können die Benutzer Objek- te auswählen, die sie explorieren möchten. Diese sind rekursiv in Teilobjekte untergliedert, die den Gruppen und Formen der XML-basierten Graphik ent- sprechen. Den Benutzern stehen mehrere Modi zur Verfügung, um durch die hierarchische Struktur zu navigieren. Als Voreinstellung ist die gesamte Graphik anfangs ausgewählt. In dieser können dann Teilobjekte selektiert und darauf Filter angewendet werden. Durch die Navigation und die Filterung wird die Ausgabe als taktile Repräsentation angepasst. Dazu wird entsprechend der gewählten Modi, Filter und Objekte eine neue XML-basierte Graphik be- rechnet. Zusätzlich werden die Ausgaben für die Braillezeile und die Sprach- ausgabe generiert.

Vor der Rasterisierung der neu berechneten Graphik müssen die Farben angepasst werden. Den Objekten im Hintergrund wird die Farbe weiß und den Objekten im Vordergrund schwarz zugewiesen. Den Hintergrund bilden dabei die Objekte, die bereits in der Vorverarbeitung als Hintergrund identifiziert

121 5.4 2D-Graphiken wurden, und jeweils diejenigen Objekte, die nicht von den Benutzern ausge- wählt wurden. Dem Hintergrund werden auch weitere Objekte hinzugefügt, die entsprechend dem gewählten Farbfilter nicht im Vordergrund angezeigt werden sollen. Entsprechend der Auflösung des taktilen Ausgabegeräts wird die in XML beschriebene Graphik dann in eine Rastergraphik umgewandelt. Die schwarzen Pixel werden anschließend auf dem Ausgabegerät als erhabene Stifte und die weißen als abgesenkte Stifte angesteuert.

5.4.2 Steuerung der Exploration

Graphische Darstellungen sind meist aus mehreren graphischen Objekten und Texten aufgebaut. Eine Reduzierung der Auflösung erschwert die Exploration der gesamten Graphik. Die Komplexität der taktilen Ausgabe kann durch eine isolierte Darstellung von einzelnen Objekten und Texten verringert werden. Die dafür benötigte hierarchische Gliederung von Objekten mit semantischem Zusammenhang wird über Gruppierungselemente ermöglicht. Um die Graphik zu explorieren, ist eine Navigation durch die Objekte und Texte notwendig. Entsprechend des Gruppierungkonzeptes können einzelne Gruppen betreten und deren Teilobjekte einzeln exploriert werden. Unterschiedliche Modi, die von den Benutzern zu jedem Zeitpunkt geändert werden können, erleichtern die Navigation. Bei jeder Interaktion werden die Benutzer über die Braillezeile und die Sprachausgabe zur Art des Objekts, zu den vorkommenden Farben, zum textuellen Inhalt und zu den Metadaten wie Titel und Beschreibung in- formiert. Darüber hinaus können weitere Informationen wie Position und Grö- ße ausgegeben werden.

Über die Zoomfunktionalität können Ausschnitte einer Graphik vergrößert werden, wodurch auch Details ertastet werden können, die in einer kleineren Darstellungsstufe auf nur wenige Stifte zusammengefallen wären. In einer ge- zoomten Darstellung kann der aktuelle Ausschnitt verschoben werden.

Mittels der räumlichen Sortierung der Objekte können die Benutzer jeweils das nächste oder das vorherige Objekt anzeigen und auch das erste oder letzte Objekt anspringen. Neben dem isolierten Darstellen der einzelnen Objekte, können die Graphiken auch inkrementell aufgebaut werden. Durch die Naviga- tion auf das nächste Objekt wird dieses zur bisher angezeigten Teilgraphik

122 5.4 2D-Graphiken

Abbildung 5.10: Balkendiagramm als XML-basierte Graphik in SVG hinzugefügt und Metainformationen zu dem neuen Objekt auf der Braillezeile und über die Sprachausgabe ausgegeben. Das XML-basierte Balkendia- gramm in Abbildung 5.10 zeigt Abbildung 5.11 als taktile Graphik mit inkre- mentellem Aufbau. Wenn die graphischen Objekte aus Teilobjekten zu- sammengesetzt sind, können die Teilobjekte getrennt exploriert werden. Dies ermöglicht die rekursive Exploration der graphischen Objekte und deren Meta- daten.

Die Position der Objekte in der Graphik ist eine wichtige Information bei der Exploration. Die Benutzer können daher zu jedem Zeitpunkt in einen Über- blickmodus wechseln, in dem die gesamte Graphik dargestellt wird. Dort können auch Filter angewendet und es kann durch die Objekte der Graphik navigiert werden. Sobald der Überblickmodus verlassen wird, werden die Ein- stellungen zu Filter und Modi in den Zustand vor dem Aufrufen des Überblick- modus zurückgesetzt.

Wichtige inhaltliche Anhaltspunkte für die Exploration bietet blinden Menschen oft der in Graphiken vorkommende Text. Die textuelle Information lässt sich im Textmodus sukzessiv auf der Braillezeile und über die Sprachausgabe ausge- ben, indem die Benutzer von Textstelle zu Textstelle navigieren. Die Position des aktuellen Textes wird durch Blinken auf der taktilen Ausgabe dargestellt, so dass der textuelle Inhalt und dessen Position in der Graphik wahrgenom- men werden kann.

123 5.4 2D-Graphiken

Abbildung 5.11: Taktiles Diagramm im schrittweise inkrementellen Aufbau

124 5.4 2D-Graphiken

Bei der Überführung in eine taktile Darstellung könnten Texte auch in Braille- schrift ausgegeben werden. Da hier jedes Zeichen eine fixe Anzahl von Stiften in der Breite und Höhe benötigt, können die textuellen Inhalte nicht vergrößert bzw. verkleinert werden. Zudem kann dies zu Überlappungen der Texte mit den geometrischen Elementen der Graphik führen, was die Exploration beein- trächtigt. Daher müssten alle Texte auf einem Rechteck in der Hintergrund- farbe ausgegeben werden, wodurch geometrische Elemente der Graphik verdeckt werden könnten. Die Textausgaben sind aus diesem Grund in den Abbildungen 5.11, 5.13 und 5.15 nicht als Braille dargestellt.

Abbildung 5.12: Schrittweiser Aufbau der linken Graphik, in der Mitte mit Verdeckung und rechts ohne Verdeckung durch andere Objekte

In Vektorgraphiken können graphische Objekte durch andere Objekte verdeckt werden. Im Gegensatz zur Rastergraphik können die verdeckten Tei- le des Objekts bei der Vektorgraphik aber sichtbar gemacht werden. Das Auf- heben der Verdeckung kann bei der Exploration von Graphiken für blinde Menschen hilfreich sein. Sie können in einen Modus wechseln, in dem die Verdeckung durch andere Objekte nicht berücksichtigt wird. Dadurch ist es beispielsweise möglich, ein Auto als ganzes Objekt zu ertasten, das teilweise von einem im Vordergrund stehenden Baum verdeckt wird. Wird die Verde- ckung aktiviert, ist das Auto in zwei Konturen geteilt, die als verdecktes Auto nur schwer erkannt werden können (vergleiche Abbildung 5.12).

5.4.3 Explorationsfilter

Die Exploration einer taktilen Graphik kann durch Anwenden von Filtern unter- stützt werden. Die Kontur eines Objektes spielt bei der Exploration für blinde Menschen eine besonders wichtige Rolle. Dabei können geometrische

125 5.4 2D-Graphiken

Formen am Umriss einfacher und schneller ertastet werden als gefüllte Formen. Durch das Anwenden eines Konturfilters werden nur die Umrisse für alle angezeigten Objekte dargestellt. Dazu wird in allen Objekten die Anzeige der Füllung deaktiviert. Falls zuvor noch kein Rand aktiviert war, wird diesem die Farbe der Füllung zugewiesen. Abbildung 5.13 zeigt die taktile Umrissdar- stellung des Balkendiagramms aus Abbildung 5.10.

Abbildung 5.13: Diagramm als taktile Graphik mit angewendetem Konturfilter

Die Beschränkung auf eine monochrome Darstellung kann bei Fülleffekten wie Gradienten und Mustern zu Kanten in der aufbereiteten Graphik führen, die in der originalen Graphik nicht vorhanden sind. Beispielsweise werden mit einem Schwellwertverfahren Farbwerte mit großer Luminanz auf weiß und mit nied- riger Luminanz auf schwarz abgebildet. Dadurch entsteht bei der Überführung eines Farbgradienten, der die Grauwerte von schwarz nach weiß zeigt, in der taktilen Darstellung eine zusätzliche Kante beim definierten Schwellwert. Diese Kante ist in der originalen Graphik nicht vorhanden und erschwert da- durch die Exploration der Graphik. Durch Anwendung eines Filters, der Gradi- enten und Muster in Füllungen vor der Überführung in die monochrome Dar- stellung entfernt, können solche zusätzlichen Kanten vermieden und die Exploration vereinfacht werden. Abbildung 5.14 verdeutlicht dies an zwei Bal- ken eines Diagramms, die mit einem Farbgradienten und einem Muster gefüllt sind. Beim Anzeigen der taktilen Graphik werden die blinden Benutzer über die Braillezeile und Sprachausgabe informiert, dass in der Füllung des aktu-

126 5.4 2D-Graphiken ellen Objekts beispielsweise ein Gradient von schwarz nach weiß enthalten ist. So können die Benutzer die Form des Objekts ertasten und bei Bedarf den speziellen Filter anwenden.

3,2 3,2 3,2

2,2 2,2 2,2

2001 2002 2001 2002 2001 2002

Abbildung 5.14: Überführung der linken Graphik mit Farbgradient und Muster in eine mono- chrome Darstellung, in der Mitte das Ergebnis mit Schwellwertverfahren, rechts mit Filte- rung der Füllung

Um alle Graphikelemente einer bestimmten Farbe separat darzustellen, kann ein Farbfilter verwendet werden. Damit lassen sich jedoch nur Farbgruppen und nicht einzelne der 24bit-Farben auswählen. Welche und wieviele Farb- gruppen für die Filterung ausgewählt werden, hängt von der Fähigkeit der blinden Benutzer in der Unterscheidung von Farben ab. Deshalb lassen sich die Farbgruppen konfigurieren. Für Menschen, die erst als Erwachsene erblindet sind, ist in der Regel die Farbe eines Objekts ein sehr wichtiger Anhaltspunkt für dessen Erkennung. Für die durch Menschen unterscheidba- ren Farben wurde von Brent Berlin und Paul Kay bereits 1969 eine begrenzte Anzahl von Farbgruppen experimentell bestimmt und mit “basic color terms” bezeichnet [Berlin et al. 1969]. Die ermittelten Farbgruppen sind weiß, schwarz, grau, rot, violett, gelb, grün, blau, rosa, braun und orange. Diese “basic color terms” wurden als Farbgruppen für die Filterung verwendet, die einzeln oder kombiniert gewählt werden können. Abbildung 5.15 stellt das Bal- kendiagramm aus Abbildung 5.10 als taktile Graphik mit angewendetem Farb- filter für schwarz dar. Dabei werden das Koordinatensystem und die schwarzen Beschriftungen angezeigt. Die farbigen Balken fehlen jedoch in der Darstellung.

127 5.4 2D-Graphiken

Abbildung 5.15: Diagramm als taktile Graphik mit angewendetem Farbfilter für schwarz

Für die Abbildung der Objektfarben auf die Farbgruppen wurde die in Kapi- tel 5.4.1 vorgestellte Transformation im L*a*b-Farbraum verwendet. Durch die Konfigurierbarkeit der Farbgruppen ist das hier vorgestellte Verfahren auch für Farbenfehlsichtige geeignet, indem auf die taktile Darstellung verzichtet und nur die Simulation am Bildschirm verwendet wird.

5.5 3D-Graphiken

Blinden Menschen den Zugang zu 3D-Graphiken zu ermöglichen, stellt eine große Herausforderung dar. Dazu kann ein Verfahren zur Darstellung von 3D- Graphiken mit charakteristischen Linienzügen verwendet werden, das von Joachim Diepstraten, Martin Görke und Thomas Ertl beschrieben wurde [Diepstraten et al. 2004]. Das in Kapitel 5.4 vorgestellte Transformationssche- ma für XML-basierte 2D-Graphik wurde dabei für 3D-Graphik erweitert.

Das Verfahren zur Berechnung von charakteristischen Linienzügen wurde ursprünglich für die Darstellung von 3D-Graphik auf mobilen Geräten konzi- piert. Da diese Geräte nicht über ausreichend Rechenleistung verfügen, um interaktive 3D-Graphik zu unterstützen, wurde eine Client/Server-Lösung ge- wählt. Dazu werden auf dem Server Silhouetten- und Randlinien der graphischen Objekte abhängig vom aktuellen Blickpunkt im Objektraum be- rechnet. Zusätzlich werden Kamm- und Tallinien (ridges und valleys) be-

128 5.5 3D-Graphiken stimmt, die Bereiche hoher Oberflächenkrümmung beschreiben [Görke 2003]. Diese Linieninformationen werden vom Server an den Client übertragen. Der Client zeichnet die Szene und meldet gegebenenfalls auftretende Ereignisse an den Server, damit dieser eine Neuberechnung mit geänderten Parametern vornimmt. Abbildung 5.16 zeigt eine Originalgraphik und das Ergebnis des Verfahrens im Vergleich.

Abbildung 5.16: 3D-Graphik des Utah Teapots und eines Sessels links im Original, rechts in der 2D-Liniendarstellung

Um 3D-Graphiken blinden Menschen zugänglich zu machen, wurde die in Ka- pitel 5.4 vorgestellte Anwendung erweitert [Rotard 2004g]. Dabei wurde die Funktionalität des Servers in die Anwendung integriert und die berechneten Linienzüge auf SVG abgebildet. Für die interaktive Steuerung wurde ein spezi- eller 3D-Modus notwendig, der das Drehen des Objekts um alle Achsen und das Zoomen ermöglicht.

129 5.5 3D-Graphiken

Abbildung 5.17: Utah Teapot und Sessel als taktile 3D-Graphik in der Liniendarstellung

Ergebnisse der taktilen Aufbereitung sind in Abbildung 5.17 dargestellt. Bei der taktilen Darstellung der 3D-Graphik fällt auf, dass sich der Umriss des Objekts abhängig vom Betrachtungswinkel ändert. Da sich blinde Menschen in der Regel am Umriss eines dargestellten Objekts orientieren, ist es für sie sehr schwierig, ein Objekt ohne zusätzliche Metainformationen zu identifi- zieren. Wenn ihnen allerdings bekannt ist, um welches Objekt es sich handelt und sie zusätzlich die Perspektive (Draufsicht, Seitenansicht, etc.) kennen, dann können sie sogar Details in den Objekten erkennen. Ein Anwendungsfall

130 5.5 3D-Graphiken für die Exploration einer 3D-Graphik durch einen blinden Menschen könnte beispielsweise die Vorauswahl eines Sessels in einem virtuellen Möbelkatalog im Web sein. Mit Hilfe der taktilen Repräsentation können die Form der Lehne, Arme, Beine, etc. des Sessels ertastet werden.

5.6 Taktiler Web-Browser

Die Anzahl von Informationen und Dokumenten, die über das World Wide Web verfügbar sind, hat in den letzten Jahren stetig zugenommen. Daher wird der Zugang zum Web auch für blinde Menschen immer wichtiger, um dort bei- spielsweise Fahrpläne, Telefonnummern, Nachrichten oder Lehrmaterialien zu nutzen. Blinden Menschen sind textuelle Informationen über Screenreader zu- gänglich und können auf Braillezeilen oder über die Sprachausgabe ausgege- ben werden. Graphische Informationen werden bei dieser Aufbereitung fast immer vernachlässigt. Meist ist von der Graphik nur der Dateiname und der Alternativtext verfügbar, falls dieser überhaupt existiert. Insbesondere für die schulische Ausbildung blinder Menschen ist aber der Zugang zu Graphiken, Diagrammen und Formeln wichtig. Fehlen diese Informationen in Lehrmate- rialien, so kann dies das Verständnis des Lehrinhalts stark beeinträchtigen, zumal die graphisch dargebotene Information meist nicht im zugehörigen Text wiederholt wird.

Für manche Webseiten gibt es spezielle Blindenversionen, in denen das Lay- out der Seite reduziert ist und die textuellen Information besser zugänglich sind. Dennoch möchten blinde Menschen die selben Webseiten aufrufen, die selben Links verwenden und den selben Inhalt im gleichen Layout lesen, wie auch die Sehenden. Die Blindenversionen, falls sie überhaupt existieren, bieten blinden Menschen wohl einen besseren Zugang zu textuellen Inhalten, doch würden sie lieber den gesamten Inhalt von Webseiten erfassen. Daher wird in diesem Abschnitt ein taktiler Web-Browser vorgestellt, der die Darstel- lung von XML-basierten mathematischen Formeln, sowie von 2D- und 3D- Graphik unterstützt. Zunächst wird dabei auf das Layout und die Formatierung von Webseiten in taktiler Form und anschließend auf die Einbettung und Exploration von Graphiken eingegangen.

131 5.6 Taktiler Web-Browser

5.6.1 Layout und Formatierung von Webseiten

Ziel des Verfahrens ist es, für die Darstellung von Webseiten auf einem takti- len Ausgabegerät aus der Beschreibung in XHTML ein Seitenlayout zu be- rechnen, das äquivalent dem Layout für Sehende ist [Knödler 2005]. Viele Webseiten basieren jedoch noch auf HTML. Um auch die Darstellung dieser Webseiten zu ermöglichen, wird die Beschreibung von HTML in XHTML über- führt. Da HTML wesentlich liberaler bezüglich Gültigkeit und Wohlgeformtheit als XHTML ist (siehe Kapitel 2.2.2), werden für die Überführung Heuristiken eingesetzt, die beispielsweise nicht strukturiert geschachtelte Tags korrigieren und auch vervollständigen [HTML Tidy].

Das Layout einer Webseite wird von Überschriften, Absätzen, Tabellen, Lis- ten, Graphiken, etc. bestimmt. Bei der Berechnung des Layouts für taktile Aus- gabegeräte muss deren wesentlich geringere Auflösung gegenüber Bild- schirmen wie auch die monochrome Darstellung berücksichtigt werden. Trotz- dem wird versucht, die Bestandteile von Webseiten in Relation zur Auflösung eines Standard-Bildschirms anzupassen. Für jeden Bestandteil der Webseite wird ein eigener Block berechnet, der dann im Layout angepasst werden kann. Horizontales Scrollen erschwert die Orientierung auf WebSeiten und sollte vermieden werden. Es führt blinde Menschen in einen Zustand ähnlich

Graphik Text Block 1 Block

Text Block 2

Abbildung 5.18: Blöcke, die für das Layout berechnet werden

132 5.6 Taktiler Web-Browser dem von Jeff Conklin beschriebenen „Lost in Hyperspace“-Phänomen [Conklin 1987]. Daher muss bei den hier betrachteten geringen Auflösungen die Größe von Graphiken und die Zellbreite entsprechend angepasst werden.

Text in einer Webseite, der in Absätze gegliedert ist, kann direkt in Braille- schrift überführt werden. Ist ein Absatz so angeordnet, dass er um eine Graphik fließt, wird dieser in mehrere Blöcke zerteilt (Abbildung 5.18). Ein Bei- spiel aus der Mathematik, das ein Diagramm als Rastergraphik enthält, ist in Abbildung 5.19 dargestellt. Die Ausgabe auf dem taktilen Ausgabegerät ist als Simulation in Abbildung 5.20 zu sehen.

Abbildung 5.19: Mathematische Webseite mit Diagramm als Rastergraphik

Formatierungen des Textes sind in Braille nicht direkt darstellbar und werden deshalb als Tags direkt in den angezeigten Text eingebettet. Die Forma- tierungen werden dabei wie folgt kodiert: fett (bold face) als , kursiv (italic) als , unterstrichen (underlined) als , Hyperlinks als ,Farben(colors) als , Überschriften (headings) 1 bis 6 als

bis
etc. Farben, die in RGB angegeben sind, werden mit dem in Kapitel 5.4.1 be- schriebenen Verfahren in Farbnamen umgewandelt. Um möglichst wenig Zei- chen für die Formatierungen zu verwenden, können alle Attribute komprimiert in einem Tag dargestellt werden, beispielsweise beginnt ein kursiver Text in grüner Schrift mit dem Tag .

133 5.6 Taktiler Web-Browser

Abbildung 5.20: Webseite als taktile Graphik mit vergrößertem Bereich rechts

Für die Darstellung von mathematischen Ausdrücken in MathML wird das in Kapitel 5.3 vorgestellte Verfahren für blinde Menschen angewendet. Mathe- matische Ausdrücke können so direkt in den Text eingebettet werden. Dar- über hinaus wurde ein XSLT-Stylesheet eingebunden, das mathematische Ausdrücke von MathML in LaTeX transformiert und in den Text integriert [XSLTML-Lib].

Die Struktur des Layouts von Webseiten wird häufig auf Basis von Tabellen erstellt. Wenn viele Spalten vorhanden sind, wird es bei den kleinen Auflö- sungen der taktilen Ausgabegeräte schwierig, das für Bildschirme optimierte Layout abzubilden. Damit die Webseite nicht breiter wird als der Ausgabebe- reich, werden bei der Transformation die Tabellenzellen vertikal in die Länge gezogen. Um für die Umrandungen nur wenig Fläche zu verbrauchen, werden alle sichtbaren Tabellenränder auf die Breite von einem Stift verkleinert. Für unsortiere Listen wird als Aufzählungszeichen das Braillezeichen verwendet, bei dem alle acht Punkte erhaben sind. Frames, die mehrere Webseiten ent- halten, werden wegen ihrer Komplexität als Liste dargestellt. Die Benutzer können dadurch diejenige Webseite auswählen, die sie explorieren möchten. Wenn mehrere Webseiten in einem Frameset dargestellt würden, wäre es möglich, in jedem einzelnen den Inhalt zu scrollen. Dies würde aber die Kom- plexität bei der Exploration und Navigation wesentlich steigern.

134 5.6 Taktiler Web-Browser

5.6.2 Exploration von Graphiken

Die Größen von Graphiken sind wichtige Attribute bei der Exploration von Webseiten. Für die Navigation der Webseite werden häufig kleine Graphiken verwendet. Eine lineare Verkleinerung im Verhältnis der Auflösungen vom taktilen Ausgabegerät zum Bildschirm würde diese Graphiken mit geringen Abmessungen auf nur wenige oder einzelne Stifte schrumpfen lassen. Wesentlich bessere Ergebnisse werden mit der Berechnung der Wurzel aus diesem Verhältnis erzielt. Dadurch werden kleine Graphiken weniger ver- kleinert, als große Graphiken.

Sämtliche Graphiken einer Webseite werden in der taktilen Repräsentation als Rastergraphik eingebettet, so dass einheitlich Filtereffekte darauf angewendet werden können. Mit dem taktilen Web-Browser kann auf einer Webseite von Graphik zu Graphik sequenziell navigiert werden. Zur Orientierung blinkt die gerade aktuelle Graphik auf dem taktilen Ausgabegerät. Um diese besser ertasten zu können, kann ein Explorationsmodus aufgerufen werden, in dem die Graphik unverzerrt auf der gesamten Ausgabefläche dargestellt wird. Als Explorationsmodus für Graphiken im SVG-Format und für 3D-Graphiken werden die in Kapitel 5.4 und 5.5 vorgestellten Transformationsschemata verwendet. Für Rastergraphiken wurde dagegen ein weiterer Explorationsmo- dus implementiert, der Filtereffekte für Rastergraphik unterstützt. Die Benutzer können darin verschiedene Schwellwert- und Kantendetektionsverfahren aus- wählen.

Bei der Darstellung von monochromer Rastergraphik wird im idealen Fall der Hintergrund in der einen und der Vordergrund in der anderen Farbe darge- stellt. Um den Vorder- vom Hintergrund auf Rastergraphiken zu extrahieren sind OCR-Verfahren notwendig. Für Abbildungen aus beliebigen Bereichen, wie sie im Web vorkommen, sind diese Verfahren jedoch (noch) nicht geeignet und benötigen zudem viel Rechenzeit. Daher bieten sich Schwellwertverfah- ren für die Überführung in monochrome Rastergraphik an, wobei die Benutzer interaktiv den Schwellwert verändern können.

Für den taktilen Web-Browser wurden zwei verschiedene Schwellwertverfah- ren implementiert, die alle vorkommenden Farbwerte auf zwei Farbwerte redu-

135 5.6 Taktiler Web-Browser zieren. Das erste Verfahren ordnet alle Farbwerte mit höherer Luminanz als der Schwellwert dem einem Farbwert zu. Farbwerte mit niederiger Luminanz werden dem anderen Farbwert zugewiesen. Ein Beispiel, das mit diesem Verfahren aufbereitet wurde, ist in Abbildung 5.20 dargestellt. Dieses Verfah- ren ist besonders bei Diagrammen, Landkarten, Zeichnungen und Texten sinnvoll, da von den Autoren der Graphik in der Regel ein hoher Kontrast zwi- schen Vorder- und Hintergrund gewählt wird. Bei Photos ist dies aber nicht der Fall. Das zweite Verfahren liefert für diese Art von Graphik bessere Ergeb- nisse. Mit einem Histogramm der Graphik wird der Bereich mit den am häu- figsten vorkommenden Farbwerten ermittelt. Diese Farbwerte werden als Hin- tergrund angenommen und die restlichen Farbwerte als Vordergrund. Der Schwellwert stellt bei diesem Verfahren die Breite des Bereichs auf dem Histo- gramm dar, der interaktiv verändert werden kann. Darüber hinaus wurde als Kantendetektionsverfahren ein Algorithmus für den Sobel-Operator imple- mentiert, der Kanten in der Rastergraphik herausfiltert.

Abbildung 5.21: Ausschnitt einer Webseite mit Photo im oberen und Tabelle im unteren Teil

136 5.6 Taktiler Web-Browser

Abbildung 5.22: Darstellung des oberen und unteren Teils der Webseite als taktile Graphik mit vergrößertem Bereich rechts

Abbildung 5.21 zeigt einen Ausschnitt aus einer Webseite, die ein Photo ent- hält. Ihre taktile Repräsentation dieser Webseite ist in Abbildung 5.22 darge- stellt. Für die Überführung des Photos in eine monochrome Darstellung wurde das zweite Schwellwertverfahren eingesetzt, das die am häufigsten vorkom- menden Farbwerte berechnet und als Hintergrund annimmt.

5.7 Ergebnisse

In diesem Kapitel wurden neue Methoden vorgestellt, um blinden Menschen den Zugang zu graphischen Informationen zu ermöglichen. Dazu wurden tex- tuelle und graphische Information in eine taktile Repräsentation überführt. Des

137 5.7 Ergebnisse weiteren wurden Verfahren zur Navigation und Filterung vorgestellt, die das Explorieren der taktilen Repräsentation unterstützen. Im letzten Abschnitt wurde ein taktiler Web-Browser präsentiert, der die zuvor beschriebenen Kon- zepte für den Zugang zu mathematischen Ausdrücken, zu 2D- und zu 3D- Graphiken mit textueller Information integriert. Damit wird erstmals eine ganz- heitliche Erfassung von Informationen im Web ermöglicht, in der Graphik und Text in einem gemeinsamen Layout für blinde Menschen zugänglich gemacht wurde.

Für blinde Menschen wird ferner die Darstellung von mathematischen Aus- drücken auf der Braillezeile ermöglicht. Ausdrücke, die in MathML beschrieben wurden, können mit einer vorgestellten Transformation in die Stuttgart Mathe- matical Notation for the Blind (SMFB) überführt werden. Bei diesem Verfahren werden Mathematische Ausdrücke in MathML, die in XHTML-Dokumente ein- gebettet sind, direkt transformiert und wieder in die Webseite integriert. Da- durch sind diese Dokumente für blinde Menschen ganzheitlich zugänglich.

Abbildung 5.23: Ausschnitt der Iberischen Halbinsel aus einer XML-basierten Euro- pakarte als taktile Graphik

Die Rückmeldungen von ersten Benutzertests mit mehreren blinden Men- schen sind durchweg positiv. Insbesondere wird die Exploration von XML-ba- sierten 2D-Graphiken als Mehrwert erachtet. Die Steuerung der Exploration, das Anwenden von Filtern und die Orientierung mit Hilfe von Metainforma-

138 5.7 Ergebnisse tionen ist intuitiv und einfach handhabbar. Die aufbereitete Graphik auf dem taktilen Ausgabegerät wird als sehr gute Qualität beurteilt. Abbildung 5.23 zeigt einen Ausschnitt einer Landkarte von Europa als taktile Graphik. Durch die Eigenschaften XML-basierter Graphik kann die Karte beliebig vergrößert und verkleinert werden, ohne dass sich ein Qualitätsverlust ergibt.

Viele Anwendungen benötigen einen zweidimensionalen Zugang. Die hier vorgestellten Verfahren eröffnen insbesondere für diesen Bereich neue Möglichkeiten. Beispielsweise ist das Erstellen und Betrachten von Dia- grammen der Unified Modeling Language (UML) für die Entwicklung von Soft- waresystemen unerlässlich. Abbildung 5.24 zeigt ein solches UML-Diagramm, das mit dem vorgestellten Ansatz exploriert werden kann. Eine Anwendung für blinde Menschen zur graphischen Exploration von UML-Diagrammen ist daher naheliegend. Der hier vorgestellte Ansatz könnte auch in bestehende Anwendungen wie beispielsweise TeDUB (Technical Drawings Understanding for the Blind) integriert werden [King et al. 2004].

Abbildung 5.24: Darstellung eines Klassendiagramms in der Unified Modeling Language als taktile Graphik

3D-Graphiken lassen sich für blinde Menschen durch Darstellung von Silhou- etten und weiteren charakteristischen Linienzügen taktil anzeigen. Erste Benutzertests haben ergeben, dass die Erkennung eines Objekts nur dann möglich ist, wenn dem blinden Menschen bekannt ist, um welches Objekt es sich handelt. Das Erkennen unbekannter Objekte aus einen beliebigen Be-

139 5.7 Ergebnisse trachtungswinkel ist nahezu unmöglich. Wenn dagegen weitere Metainforma- tionen und Betrachtungsparameter bekannt sind, können sogar Details des dreidimensionalen Objekts erkannt werden.

140 6 Ergebnisse der Arbeit und Ausblick

6 Ergebnisse der Arbeit und Ausblick The Semantic Web is not a separate Web but an extension of the current one, in which information is given well-defined meaning, better enabling computers and people to work in cooperation. The first steps in weaving the Semantic Web into the structure of the existing Web are already under way. In the near future, these developments will usher in significant new functionality as machines become much better able to process and “understand” the data that they merely display at present.

Tim Berners-Lee, James Hendler und Ora Lassila

6 Ergebnisse der Arbeit und Ausblick

Computergraphik wird in zunehmend vielen Bereichen eingesetzt. Die Darstel- lung von graphischen Benutzungsoberflächen oder die Visualisierung wissen- schaftlicher Zusammenhänge sind heute signifikante Anwendungsgebiete. Durch das Beschreiben graphischer Information mittels Auszeichnungsspra- chen wird das Spektrum der Anwendungsmöglichkeiten, beispielsweise durch Animation und Interaktion mit den Inhalten, erheblich erweitert. In dieser Arbeit wurden solche Anwendungsmöglichkeiten in interaktiven Systemen unter- sucht. Zusätzlich wurde der Zugang zu graphischen Informationen für blinde Menschen betrachtet. Als Ergebnisse wurden insbesondere neue Konzepte und Methoden für graphische Benutzungsoberflächen und Lehrmaterialien so- wie für den Zugang blinder Menschen zu graphischen Informationen erarbei- tet. Die Ergebnisse werden im Folgenden für die jeweiligen Bereiche zu- sammengefasst und mit Ausblicken auf die weitere Entwicklung versehen.

Die in dieser Arbeit verwendeten standardisierten Auszeichnungssprachen ba- sieren ausschließlich auf der Extensible Markup Language (XML) und können wie folgt kategorisiert werden: Scalable Vector Graphics wird angewandt für das Beschreiben von 2D-Graphik, Extensible 3D für 3D-Graphik, die Mathe- matical Markup Language für mathematische Ausdrücke, die Synchronized

141 6 Ergebnisse der Arbeit und Ausblick

Multimedia Integration Language für zeitsynchronisierte interaktive Anima- tionen und XForms von für elektronische Formulare.

Für XML-basierte Graphiken in interaktiven Anwendungen ist es besonders wichtig, dass sie anpassungsfähig sind und sich auf einfache Weise wieder- verwenden lassen. Dadurch ergeben sich Vorteile für die Ersteller wie auch für die Nutzer von graphischen Anwendungen. Durch die Skalierbarkeit ohne Qualitätsverlust können XML-basierte Graphiken auf Arbeitsplatzrechnern wie auch auf mobilen Geräten eingesetzt werden. Die Interoperabilität der Graphiken wird durch deren Modularisierung erreicht. Die Standards XHTML, SVG, SMIL, X3D und CSS liegen bereits modularisiert vor.

Alle XML-basierten Formate bieten die Möglichkeit zur algorithmischen Weiter- verarbeitung durch Transformationen. Diese Fähigkeit wird in vielen vorge- stellten Konzepten zur Aufbereitung von graphischen Informationen verwendet. Beispielsweise werden textuelle Inhalte von Graphiken durch sol- che Transformationen an den sprachlichen Kontext von Lehrmodulen ange- passt, mathematische Ausdrücke in eine Notation für blinde Menschen umge- wandelt und 2D- und 3D-Graphiken in taktile Repräsentationen konvertiert.

Für graphische Benutzungsoberflächen wurden spezielle XML-basierte Wid- gets vorgestellt, die es ermöglichen die Inhalte und die Interaktionselemente anzupassen. Eine Erweiterung von zweidimensionalen Benutzungsoberflä- chen bilden zoombare Benutzungsoberflächen mit XML-basierter Graphik. Diese lassen sich wegen der Skalierbarkeit der XML-basierten Vek- torgraphiken auf einfache Weise verwirklichen. Darüber hinaus wurden neue Konzepte für die Übertragung von Benutzungsoberflächen auf andere Rech- ner entwickelt. Dazu wurde ein Web Service realisiert, der die entsprechend veränderten Knoten oder Attribute vom Server an den Client überträgt. Der Client auf dem Rechner des Benutzers integriert die neuen Informationen in die aktuelle Beschreibung seiner Benutzungsoberfläche.

Für zukünftige Benutzungsoberflächen bietet sich die Verwendung von XML- basierter Graphik an, da sie sich ohne zusätzlichen Entwicklungsaufwand auf den verschiedensten Ausgabegeräten mit unterschiedlichen Auflösungen und Interaktionsformen einsetzen lassen. Insbesondere bei mobilen Geräten ist

142 6 Ergebnisse der Arbeit und Ausblick diese Anpassungsfähigkeit der graphischen Benutzungsoberfläche wichtig. Neue Interaktionsstile und Erweiterungen zu graphischen Benutzungsoberflä- chen werden die Arbeit mit diesen Geräten vereinfachen. Die Transformation XML-basierter Beschreibungen von Benutzungsoberflächen in eine geeignete Repräsentation erleichtert zudem den Zugang für sensorisch Behinderte.

Im vorgestellten XML-basierten Lehrmodulformat lassen sich Lehrmaterialien flexibel erstellen und für den Einsatz auf Lernplattformen verwenden. Der mo- dulare Aufbau ermöglicht die getrennte Speicherung von Inhalten, Forma- tierungen, Layout, Strukturen, Metadaten und Objekten. Das Lehrmodulformat ermöglicht die Integration von XML-basierten Graphiken. Durch deren algorith- mische Weiterverarbeitung wird eine einheitliche Ausgabe und Formatierung der Lehrmodule erreicht. Zur Erstellung der wiederverwendbaren Lehrmodule wurde ein Autorenwerkzeug präsentiert, das sich bereits in einem breiten Anwenderkreis bewährt hat.

Lernen wird in Zukunft einen noch höheren Stellenwert erlangen, als es heute bereits besitzt. Dadurch werden sich neue Lernformen bilden, die es erfordern, Lehrmodule auf unterschiedlichen Ausgabegeräten anzuzeigen. Mit XML-ba- sierter Graphik und mit der Verwendung von standardisierten Lehrmodul- formaten wird eine geeignete Darstellung auf den verschiedensten Lernplatt- formen ermöglicht [Burger et al. 2004]. Die Ausgabe der Lehrmodule kann mit Hilfe der vorgestellten Transformationen so an die spezifischen An- forderungen angepasst werden, dass eine Verwendung auf mobilen Ausgabe- geräten und mit interaktivem Fernsehen genauso ermöglicht wird, wie auf Arbeitsplatzrechnern. Lehrmaterialien werden sich in Zukunft stärker an stan- dardisierten Curricula von internationalen Fachverbänden und Organisationen orientieren. Zunehmend wird es daher erforderlich werden, die vorhandenen Lehrmodule auf zentralen Plattformen mit anderen Lehrenden auszutauschen. Eine effiziente Aktualisierung und Wiederverwendung in eigenen Lehrveran- staltungen wird durch standardisierte Lehrmodulformate mit XML-basierten Graphiken erreicht.

In dieser Arbeit wurden Konzepte für den Zugang blinder Menschen zu XML- basierter Graphik vorgestellt, die erstmals eine ganzheitlich Erfassung von tex- tueller Information mit mathematischen Ausdrücken sowie 2D- und 3D-

143 6 Ergebnisse der Arbeit und Ausblick

Graphiken ermöglichen. Die Exploration von SVG mit inkrementellem Aufbau, der Ausgabe von Metainformationen und dem Anwenden von Filtern erleich- tert blinden Menschen die Erkennung von graphischer Information. Neue Kon- zepte für den Zugang von blinden Menschen zu Text und Graphik wurden in einen Web-Browser integriert, der die taktile Ausgabe von Webseiten ermöglicht. Formatierungen und das Layout von Webseiten werden von diesem Web-Browser äquivalent zur Repräsentation für Sehende dargestellt.

Barrierefreier Zugang für alle Menschen zu Webseiten staatlich geförderter Organisationen wird in vielen Ländern gesetzlich vorgeschrieben. Dabei spielt der Zugang zu Graphik eine entscheidende Rolle. Dieser stellt für blinde Men- schen eine große Herausforderung dar. Durch XML-basierte Graphik kann die Qualität der taktilen Darstellung erhöht und ihre Erkennung durch zusätzliche semantische Metainformationen erleichtert werden. Für die Exploration von Graphik bilden die vorgestellten Konzepte damit eine Basis, die in viele zu- künftige Anwendungsprogramme integriert und für jeden speziellen Anwendungskontext erweitert werden kann. Blinden Menschen an Schulen, Universitäten und anderen Bildungseinrichtungen kann dadurch ein bar- rierefreier Zugang zu Lehrmaterialien und zu einheitlichen Leistungsprüfungen (beispielsweise schulische und universitäre Abschlüsse, IHK-Prüfungen, etc.) ermöglicht werden. Die Integration der Verarbeitung von Graphik in Screen- reader wird blinden Menschen die Arbeit mit gängigen Standardanwendungen gestatten und bildet damit eine wesentliche Grundlage für die Ausübung vieler Berufe.

Die Unterstützung von XML-basierter Graphik in zahlreichen Graphikproduk- ten und Web-Browsern wird schon in naher Zukunft zu einer stärkeren Ver- breitung von (interaktiver) Graphik und zu einer vereinfachten Handhabung für die Benutzer führen. Die hardwarebeschleunigte Darstellung von XML-ba- sierten Graphiken, insbesondere auf mobilen Geräten, wird durch den Einsatz der Standards Open Vector Graphics (OpenVG) und Open Graphics Language for Embedded Systems (OpenGL|ES) ermöglicht [OpenVG, OpenGL|ES]. Die SVG's XML Binding Language (sXBL) erweitert den Stan- dard Scalable Vector Graphics und unterstützt komplexe Visualisierungen durch Abbildung anderer XML-basierter Formate auf SVG. Im 3rd Generation Partnership Project (3GPP) kooperieren Gremien für die Standardisierung im

144 6 Ergebnisse der Arbeit und Ausblick

Mobilfunk weltweit [3GPP]. Von ihnen wurde SVG Tiny and SVG Basic als Medienformat für Multimedia Messaging Service (MMS) und Packet-Switched Streaming Service (PSS) ausgewählt, das bereits heute von aktuellen Mo- biltelefonen unterstützt wird.

Die Integration unterschiedlicher standardisierter Auszeichnungssprachen wird die Beschreibungsfähigkeit graphischer Informationen wesentlich ver- bessern. Mit den Compound Documents Formats (CDF) werden textuelle In- halte mittels XHTML, 2D-Vektorgraphiken mittels SVG, Steuerung von Multimediaströmen mittels SMIL, Formulare mittels XForms und weitere offene Standards integriert [CDF]. Compound Documents mit semantischen Beschreibungen, die das Resource Description Framework (RDF) mit verteil- ten Ontologien verwenden, werden die heutigen Dokumente im Web ersetzen [RDF, Berners-Lee et al. 2001, Dostal et al. 2004]. Dadurch werden neue Funktionalitäten in Web-Anwendungen (Web Applications) realisierbar, wie sie bisher ausschließlich auf Standardanwendungen begrenzt waren. Compound Documents werden zudem komplexe orts- und kontextbezogene Darstel- lungen ermöglichen. Dadurch wird die Tür zur nächsten Generation des World Wide Webs, dem Semantic Web, geöffnet.

145 6 Ergebnisse der Arbeit und Ausblick

146 7 Anhang

7 Anhang

7 Anhang

7.1 Abbildungsverzeichnis Abbildung 1.1 Graphische Inhalte, deren Übertragung, Speicherung und Ausgabe...... 14 Abbildung 2.1 Entstehung der XML-basierten Graphikformate...... 21 Abbildung 2.2 Schichtendigramm der standardisierten Auszeichnungs- sprachen...... 23 Abbildung 2.3 Vergleich der Vergrößerung einer Vektor- und einer Rastergraphik...... 33 Abbildung 2.4 Auszug aus den SVG-Grundformen...... 35 Abbildung 2.5 Text in SVG orientiert an einer kubischen Bézier Kurve...... 36 Abbildung 2.6 Profile von SVG...... 38 Abbildung 2.7 Visualisierung der Erdkugel in X3D ...... 46 Abbildung 2.8 Mit XForms beschriebenes Formular...... 50 Abbildung 3.1 Model-View-Controller eines Widgets auf Basis von XML- basierter Graphik...... 61 Abbildung 3.2 Button Widget auf Basis von XML-basierter Graphik...... 61 Abbildung 3.3 Zoombare Benutzungsoberfläche mit halbtransparenten Steuerelementen...... 65 Abbildung 3.4 Zoomen und Verschieben der Benutzungsoberfläche mit einer Geste...... 66 Abbildung 3.5 Zoombare Benutzungsoberfläche auf einer kleinen Aus- gabegröße...... 67 Abbildung 3.6 Sequenzdiagramm zur Übertragung von Benutzungsober- flächen...... 70 Abbildung 3.7 Taschenrechner in SVG und Uhr in X3D als Client/Server Anwendung...... 71 Abbildung 3.8 Schachspiel in X3D als Client/Server Anwendung...... 72 Abbildung 3.9 Komponentendiagramm des Client/Server Systems...... 73 Abbildung 3.10 Drehregler auf Basis von SVG...... 74

147 7.1 Abbildungsverzeichnis

Abbildung 3.11 Sequenzdiagramm der Initialisierungsphase...... 75 Abbildung 3.12 Sequenzdiagramm der Ereignisverarbeitung...... 76 Abbildung 3.13 Nebenläufige Verarbeitung von Ereignissen, die auf dem Server auftreten...... 78 Abbildung 3.14 Elektronische Tafel in einem kooperativem Lehr- und Lernszenario...... 80 Abbildung 4.1 Wiederverwendung von existierenden Lehrmaterialien durch Auszeichnung und Speicherung im ITO-Lehrmodul- format...... 84 Abbildung 4.2 Ausgabeaufbereitung von Lehrmaterialien im ITO-Lehr- modulformat für die Verwendung auf Lernplattformen im Web und für den Druck...... 85 Abbildung 4.3 Flexible Lernplattform mit Unterstützung von XML-basier- ten Graphiken und Ermöglichung blindengerechter Dar- stellung...... 85 Abbildung 4.4 Lernplattform metacoon...... 86 Abbildung 4.5 Anpassung einer XML-basierten Graphik eines Tetraeders mit Cascading Stylesheets...... 88 Abbildung 4.6 Tetraeder mit deutscher, japanischer und arabischer Be- schriftung...... 90 Abbildung 4.7 Interaktives Experiment für 3D-Transformationen als XML- basierte Graphik...... 91 Abbildung 4.8 Kategorisierung der Tags des ITO-Lehrmodulformats...... 94 Abbildung 4.9 Architektur des ITO-Transformers...... 96 Abbildung 4.10 Autorenumgebung mit OpenOffice.org...... 100 Abbildung 4.11 Assistent zum Einfügen graphischer Objekte...... 102 Abbildung 4.12 Dialog für das Einfügen von Literaturreferenzen aus der Literaturdatenbank der Lernplattform...... 103 Abbildung 4.13 Dialog für das Einfügen und Bearbeiten der Metadaten eines Lehrmoduls...... 104 Abbildung 5.1 Mathematischer Ausdruck für Sehende, als SMFB in Brailleschrift und in der SMFB-Notation für Sehende...... 110 Abbildung 5.2 Mathematischer Ausdruck in LaTeX...... 110 Abbildung 5.3 Detailskizze einer Liniendarstellung als Schwell- und Stiftmatrixgraphik...... 112

148 7.1 Abbildungsverzeichnis

Abbildung 5.4 Stuttgarter Stiftplatte mit einer Auflösung von 120x60 Stiften...... 113 Abbildung 5.5 Transformation eines mathematischen Ausdrucks von MathML in SMFB...... 114 Abbildung 5.6 Transformation der mathematischen Ausdrücke in einem Lehrmodul von MathML in der oberen Darstellung, in SMFB in der Mitte und in LaTeX unten...... 116 Abbildung 5.7 Balkendiagramm auf einem taktilen Ausgabegerät...... 117 Abbildung 5.8 Anwendung zur interaktiven Aufbereitung von SVG für die taktile Darstellung...... 118 Abbildung 5.9 Schema für die Transformation einer SVG in eine taktile Darstellung...... 120 Abbildung 5.10 Balkendiagramm als XML-basierte Graphik in SVG...... 123 Abbildung 5.11 Taktiles Diagramm im schrittweise inkrementellen Auf- bau...... 124 Abbildung 5.12 Schrittweiser Aufbau der linken Graphik, in der Mitte mit Verdeckung und rechts ohne Verdeckung durch andere Objekte...... 125 Abbildung 5.13 Diagramm als taktile Graphik mit angewendetem Kontur- filter...... 126 Abbildung 5.14 Überführung der linken Graphik mit Farbgradient und Muster in eine monochrome Darstellung, in der Mitte das Ergebnis mit Schwellwertverfahren, rechts mit Filterung der Füllung...... 127 Abbildung 5.15 Diagramm als taktile Graphik mit angewendetem Farb- filter für schwarz...... 128 Abbildung 5.16 3D-Graphik des Utah Teapots und eines Sessels links im Original, rechts in der 2D-Liniendarstellung...... 129 Abbildung 5.17 Utah Teapot und Sessel als taktile 3D-Graphik in der Liniendarstellung...... 130 Abbildung 5.18 Blöcke, die für das Layout berechnet werden...... 132 Abbildung 5.19 Mathematische Webseite mit Diagramm als Rastergra- phik...... 133 Abbildung 5.20 Webseite als taktile Graphik mit vergrößertem Bereich rechts...... 134

149 7.1 Abbildungsverzeichnis

Abbildung 5.21 Ausschnitt einer Webseite mit Photo im oberen und Tabelle im unteren Teil...... 136 Abbildung 5.22 Darstellung des oberen und unteren Teils der Webseite als taktile Graphik mit vergrößertem Bereich rechts...... 137 Abbildung 5.23 Ausschnitt der Iberischen Halbinsel aus einer XML- basierten Europakarte als taktile Graphik...... 138 Abbildung 5.24 Darstellung eines Klassendiagramms in der Unified Modeling Language als taktile Graphik...... 139

150 7.2 Abkürzungsverzeichnis

7.2 Abkürzungsverzeichnis

3GPP 3rd Generation Partnership Project AMS ASCII-Mathematikschrift für Blinde API Application Programming Interface CAD Computer Aided Design CAE Computer Aided Engineering CAM Computer Aided Manufacturing CDF Compound Documents Formats CGI Common Gateway Interface CGM Computer Graphics Metafile CIE Commission Internationale de l'Eclairage CORBA Common Object Request Broker Architecture CSCL Computer Support for Collaborative Learning CSS Cascading Stylesheet Language DCMI The Dublin Core Metadata Initiative DOM Document Object Model dSVG Dynamic Scalable Vector Graphics DTD Document Type Definition DWG AutoCAD Drawing DXF Drawing Interchange/Exchange Format EML Educational Modelling Language GUI Graphical User Interface HTML HyperText Markup Language HTTP Hypertext Transfer Protocol IEEE Institute of Electrical and Electronics Engineers IP Internet Protocol ISO International Organization for Standardization ITO Information Technology Online LMML Learning Material Markup Language LOM Learning Object Metadata

151 7.2 Abkürzungsverzeichnis

LTSC Learning Technology Standards Committee des IEEE MathML Mathematical Markup Language MIME Multipurpose Internet Mail Extensions MMS Multimedia Messaging Service MVC Model-View-Controller OASIS Organisation for the Advancement of Structured Information Standards OCR Optical Character Recognition OMG Object Management Group OpenGL|ES Open Graphics Language for Embedded Systems PDA Personal Digital Assistant PDF Portable Document Format PGML Precision Graphics Markup Language PSS Packet-Switched Streaming Service RDF Resource Description Framework RDP Remote Desktop Protocol RELAX Regular Language description for XML RMI Remote Method Invocation SAI Scene Access Interface SAX Simple API for XML SCORM Sharable Content Object Reference Model SGI Silicon Graphics Incorporated SGML Standard Generalized Markup Language SMFB Stuttgart Mathematical Notation For the Blind SMIL Synchronized Multimedia Integration Language SOAP Simple Object Access Protocol SPARK SVG Programmers' Application Resource Kit SQL Structured Query Language SVG Scalable Vector Graphics SWF Shockwave Flash

152 7.2 Abkürzungsverzeichnis

sXBL SVG's XML Binding Language TCP Transfer Control Protocol THE The Humane Environment TREX Tree Regular Expressions for XML UDDI Standard Universal Description, Discovery and Integration UIML User Interface Markup Language UML Unified Modeling Language URI Universal Resource Identifier VGA Video Graphics Array VML Vektor Markup Language VNC Virtual Network Computing VRML Virtual Reality Modeling Language W3C World Wide Web Consortium WSDL Web Services Description Language WWW World Wide Web X3D Extensible 3D XBL eXtensible Bindings Language XDiML Dissertation Markup Language in XML XForms XML Forms XHTML Extended HyperText Markup Language XInclude XML Inclusions XMI XML Metadata Interchange XML Extensible Markup Language XPath XML Path Language XPointer XML Pointer Language XQuery XML Query Language XSL Extensible Stylesheet Language XSLT Extensible Stylesheet Language Transformation XUL XML-based User Interface Language

153 7.2 Abkürzungsverzeichnis

154 8 Literatur

8 Literatur

8 Literatur

Die hier aufgeführten Literaturreferenzen sind nach dem Nachnahmen des Erstautors oder dem Namen der Organisation sortiert. Alle angegebenen Web-Referenzen wurden auf ihre Gültigkeit hin am 22. Juni 2005 geprüft.

[3GPP] 3rd Generation Partnership Project: 3GPP Home Page http://www.3gpp.org/ [Aldridge 2002] Aldridge, Vivian: Bericht zur Marburger LaTeX-Tagung im März 2002: Mathematikschrift am Computer – LaTeX setzt sich durch, 2002 http://www.braille.ch/mathe/tagu1ber.htm [AMS 1994] Studienzentrum für Sehgeschädigte: ASCII-Mathematikschrift (AMS), Arbeitsgruppe Studium für Blinde und Sehgeschädigte, Universität Karlsruhe, Arbeitsgruppe Studium für Blinde und Sehgeschädigte, Technische Universität Dresden, 1994 [Anido-Rifón et al. 2002] Anido-Rifón, Luis E.; Santos-Gago, Juan M.; Ródríguez-Estévez, Judith S.; Caeiro-Rodríguez, Manuel; Fernández-Iglesias, Manuel J.; Llamas-Nistal, Martín: A Step ahead in E-learning Standardization: Building Learning Systems from Reusable and Interoperable Software Components, Proceedings of the World Wide Web Conference, 2002 http://www2002.org/CDROM/alternate/136/ [Archambault et al. 2004] Archambault, Dominique; Fitzpatrick, Donal; Gupta, Gopal; Karshmer, Arthur I.; Miesenberger, Klaus; Pontelli, Enrico: Towards a Universal Maths Conversion Library, Proceedings of the 9th International Conference on Computers Helping People with Special Needs, S. 664-669, 2004 [Ariadne-CDF] Foundation for the European Knowledge Pool: ARIADNE Course/Curriculum Description Format http://www.ariadne-eu.org/en/publications/references/

155 8 Literatur

[Barbisch 2002] Barbisch, Martin: Entfernungsbasierte Interaktion mit einem multimodalen System, Diplomarbeit, Institut für Visualisierung und Interaktive Systeme, Universität Stuttgart, 2002 [Bederson et al. 1994] Bederson, Benjamin B.; Hollan, James D.: Pad++ – a zooming graphical interface for exploring alternate interface physics, Proceedings of the 7th annual ACM symposium on User interface software and technology, S. 17-26, 1994 [Bederson et al. 2000] Bederson, Benjamin B.; Meyer, Jon; Good, Lance: Jazz- an extensible zoomable user interface graphics toolkit in Java, Proceedings of the 13th annual ACM symposium on User interface software and technology, S. 171-180, 2000 [Bederson et al. 2004] Bederson, Benjamin B.; Grosjean, Jesse; Meyer, Jon: Toolkit Design for Interactive Structured Graphics, IEEE Transactions on Software Engineering, Volume 30, Issue 8, S. 535- 546, 2004 [Behme 2002] Behme, Henning: Schön viel Grafik, SVG I: Grundlagen skalierbarer Webgraphik, iX, Ausgabe 12/2002, Heise Verlag, S. 52-59, 2002 [Berlin et al. 1969] Berlin, Brent; Kay, Paul: Basic Color Terms: Their Universality and Evolution, University of California Press, Berkeley, Los Angeles, 1969 [Berners-Lee et al. 2001] Berners-Lee, Tim; Hendler, Jim; Lassila, Ora: The Semantic Web: A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities, Scientific American, Issue May, 2001 [Bersin 2004] Bersin, Josh: The Blended Learning Book: Best Practices, Proven Methodologies, and Lessons Learned, John Wiley & Sons, Pfeiffer, San Francisco, 2004 [Beyer 1995] Beyer, Martin: Aspekte der Gestaltung und Herstellung taktiler Medien anhand ausgewählter Beispiele, Tagungsband Taktile Medien – Kolloquium über tastbare Abbildungen für Blinde, Innovative Techniken des BSVS e.V., Dresden, 1995

156 8 Literatur

[Blais et. al. 2002] Blais, Curtis; Brutzman, Don; Harney, Jeffrey; Weekley, James: Emerging Web-Based 3D Graphics for Education and Experimentation, Proceedings of The Interservice/Industry Training, Simulation and Education Conference (I/ITSEC), 2002 [Bosse 2002] Bosse, Klaus: Tansformation von mathematischen Dokumenten, die Teile in MathML enthalten, in eine in Stuttgarter Mathematikschrift für Blinde (SMFB) formulierte Darstellung, Diplomarbeit, Institut für Visualisierung und Interaktive Systeme, Universität Stuttgart, 2002 [Brownell 2002] Brownell, David: SAX2, O'Reilly & Associates, Sebastopol, 2002 [Burger et al. 2004] Burger, Cora; Rotard, Martin; Wacker, Arno: Zukünftige Trends online-gestützten Lehrens und Lernens in informationstechnischen Berufen, In Peter Göhner (Hrsg.): Information Technology Online, Waxmann Verlag, Münster, S. 247-254, 2004 [Campin et al. 2003] Campin, M. Benjamin; Brunet, Louis L.; McCurdy, William A.; Siekierska, Eva M.: SVG Mapping for People with Visual Impairment, Proceedings of the SVG Open Conference, 2003 http://www.svgopen.net/2003/papers/ svgmappingforpeoplewithvisualimpairments/ [CDF] World Wide Web Consortium: Compound Document Formats (CDF) http://www.w3.org/2004/CDF/ [CGEMS] Universidade Técnica de Lisboa – Instituto Superior Técnico, Alfa INETGAM Project, Eurographics Education Board, ACM/SIGGRAPH Education Committee: Computer Graphics Educational Materials Source http://cgems.inesc-id.pt/ [CGI] National Center for Supercomputing Applications (NCSA): The Common Gateway Interface (CGI) http://hoohoo.ncsa.uiuc.edu/cgi/ [CGM Open] CGM Open Consortium: CGM Open – An OASIS Community http://www.cgmopen.org/

157 8 Literatur

[Christian 2000] Christian, Kevin: Design of Haptic and Tactile Interfaces for Blind Users, Department of Computer Science, University of Maryland, 2000 http://www.otal.umd.edu/UUGuide/kevin/ [Cocoon] Apache Software Foundation: The Apache Cocoon Project http://cocoon.apache.org/ [Conklin 1987] Conklin, Jeff: Hypertext, An introduction and survey, IEEE Computer, Volume 20, Issue 9, S. 17-41, 1987 [CORBA] Object Management Group: CORBA Spezification http://www.omg.org/technology/documents/formal/ corba_iiop.htm [CSS] World Wide Web Consortium: Cascading Style Sheets http://www.w3.org/Style/CSS/ [Dardailler 2003] Dardailler, Daniel: Quality Web Standards, Proceedings of the Minerva Conference, Parma, 2003 http://www.w3.org/2003/11/dd-minerva/ [DHTML] Münz, Stefan: Dynamisches HTML (DHTML) http://de.selfhtml.org/dhtml/ [Diepstraten et al. 2004] Diepstraten, Joachim; Görke, Martin; Ertl, Thomas: Remote Line Rendering for Mobile Devices, Procceedings of IEEE Computer Graphics International, 2004 [Doberkat et al. 2002] Doberkat, Ernst-Erich; Veltmann, Christof; Engels, Gregor; Hausmann, Jan Hendrik; Lohmann, Marc: Anforderungen an eine eLearning Plattform – Innovation und Integration, Studie im Auftrag des Ministeriums für Schule, Wissenschaft und Forschung des Landes Nordrhein-Westfahlen, 2002 [Dostal et al. 2004] Dostal, Wolfgang; Jeckle, Mario; Kriechbaum, Werner: Semantik und Web Services: Vokabulare und Ontologien, Java Spektrum, Ausgabe 3/2004, S. 51-54, 2004 [DOM] World Wide Web Consortium, Document Object Model http://www.w3.org/DOM/

158 8 Literatur

[dSVG] Corel Corporation: Dynamic Scalable Vector Graphics (dSVG) http://www.corel.com/smartgraphics/resources/dSVG11/ [Dublin Core] The Dublin Core Metadata Initiative (DCMI): Dublin Core Metadata Element Set http://dublincore.org/documents/dces/ [Duce et al. 2001] Duce, D. A.; Herman, I.; Hopgood, F. R. A.: Scalable Vector Graphics tutorial, Eurographics 2001 Tutorial, 2001 [Dützmann 2000] Dützmann, Marco: Verfahren zur Trennung von Präsentations- und Anwendungslogik im Kontext mobiler Anwendungsszenarien, Diplomarbeit, Universität Hamburg, 2000 [ECMAScript] Ecma International: Standard ECMA-262, ECMAScript Language Specification http://www.ecma-international.org/publications/ standards/Ecma-262.htm [EML] Open University of the Netherlands: Educational Modelling Language http://eml.ou.nl/ [Epheser et al. 1986] Epheser, Helmut; Prograniczna, Dorota; Britz, Karl; Betz-Weitzel, Brigitte: Neufassung und Vervollständigung des Systems der internationalen Mathematikschrift für Blinde, Marburger Systematiken der Blindenschrift, Teil 6, Marburg/Lahn, Deutsche Blindenstudienanstalt, 1986 [Esche 1985] Esche, Sybille: Entwurf und Implementierung eines Programms zur Unterstützung blinder Bildschirmtext-Teilnehmer, Diplomarbeit, Institut für Informatik, Universität Stuttgart, 1985 [Fairchild 1998] Fairchild, Mark D.: Color Appearance Models, 1. Auflage, Addison Wesley, Reading, Massachusetts, 1998 [Falk 1998] Falk, Rainer: Java RMI, CORBA und Firewalls, Tagungsband der Java-Informations-Tage, S. 215-223, 1998 [Fehrle 1985] Fehrle, Thomas: Ein rechnerunterstützter Zeichenplatz für Blinde, Diplomarbeit, Institut für Informatik, Universität Stuttgart, 1985

159 8 Literatur

[Ferraiolo 2004] Ferraiolo, Jon: Position on Web Applications and Compound Documents, W3C Workshop on Web Applications and Compound Documents, 2004 http://www.w3.org/2004/04/webapps-cdf-ws/ [Finsterle et al. 2002] Finsterle, Lutz; Rotard, Martin; Mit konventionellen Autorensystemen zum E-Learning Portal, Tagungsband der 10. Leipziger Informatik Tage, S. 111-121, 2002 [Finsterle et al. 2003] Finsterle, Lutz; Rotard, Martin: Automated Format Transformation for Courseware, Proceedings of the OpenOffice.org Conference, 2003 http://marketing.openoffice.org/conference/ OOoCon2003.html [Fricke 1995] Fricke, Jörg: Vergleich zwischen realen und virtuellen Graphikdisplays, Tagungsband Taktile Medien – Kolloquium über tastbare Abbildungen für Blinde, Dresden, Innovative Techniken des BSVS e.V., Dresden, S. 55-61, 1995 [Fromm 1993] Fromm, Wolfgang: Verbindung von Tasten, Sprechen und Denken – ein Weg zum Erkennen tastbarer Abbildungen, Kongreßbericht Blindenlehrerkongreß Marburg, 1993 [Froumentin 2003] Froumentin, Max: Advances in W3C Web graphics standards, Proceedings of the SIGGRAPH 2003 Conference on Web Graphics, 2003 [Furnas 1986] Furnas, George W.: Generalized fisheye views, Proceedings of the Computer Human Interaction Conference, S. 16-23, 1986 [Gardner et al. 2001] Gardner, John A.; Bulatov, Vladimir: Smart Figures, SVG, and Accessible Web Graphics, Proceedings of the Technology And Persons With Disabilities Conference, 2001 [Gecko] Mozilla Foundation: Mozilla Layout Engine http://www.mozilla.org/newlayout/ [Geroimenko et al. 2004] Geroimenko, Vladimir; Chen, Chaomei: Visualizing Information Using SVG and X3D: XML Based Technologies for the XML Based Web, Springer-Verlag UK, 2004

160 8 Literatur

[Gibbons et al. 2001] Gibbons, Andrew S.; Nelson, Jon; Richards, Robert: The Nature and Origin of Instructional Objects, In Wiley, David A. (Hrsg.): The Instructional Use of Learning Objects, Association for Instructional Technology and the Association for Educational Communications and Technology, 2001 [Gnome] The GNOME Project: GNOME: The Free Software Desktop Project http://www.gnome.org/ [Görke 2003] Görke, Martin: Remote Linienrendering für mobile Geräte, Diplomarbeit, Institut für Visualisierung und Interaktive Systeme, Universität Stuttgart, 2003 [Götz 2002] Götz, Frank: 3D Grafik im Web – Exemplarische Analyse aktueller Technologien, Diplomarbeit, Universität-Gesamthochschule Paderborn, 2002 [Gunzenhäuser et al. 1994] Gunzenhäuser, Rul; Weber, Gerhard: Graphical User Interfaces for Blind People, Proceedings of the 13th World Computer Congress, S. 450-457, 1994 [Gutwin et al. 2004] Gutwin, Carl; Fedak, Chris: Interacting with big interfaces on small screens: a comparison of fisheye, zoom, and panning techniques, Proceedings of the 2004 Conference on Graphics Interface, 2004 [Hanisch 2004] Hanisch, Frank: Highly Interactive Web-Based Courseware, Dissertation, Wilhelm-Schickard-Institut für Informatik, Universität Tübingen, 2004 [Harold et al. 2002] Harold, Elliotte Rusty; Means, W. Scott: XML in a Nutshell, 2nd Edition, O'Reilly & Associates, Sebastopol, 2002 [Henderson et al. 2003] Henderson, Lofton; Weidenbrueck, Dieter: Applicability of CGM versus SVG for technical graphics, Proceedings of the XML Europe Conference, 2003

161 8 Literatur

[Henneberger et al. 2003] Henneberger, Sabine; Schulz, Matthias; Voss, Jakob: Save as XDiML, Writing and Converting digital Theses and Dissertations using OpenOffice.org, Proceedings of the OpenOffice.org Conference, 2003 http://marketing.openoffice.org/conference/ OOoCon2003.html [Herman et al. 2002] Herman, Ivan; Dardailler, Daniel: SVG Linearization and Accessibility, Proceedings of the SVG Open Conference, 2002 http://www.svgopen.org/2002/papers/ herman_dardailler__svg_linearization_and_accessibility/ [Hewett et al. 1992] Hewett, Thomas T.; Baecker, Ronald; Card, Stuart; Carey, Tom; Gasen, Jean; Mantei, Marilyn; Perlman, Gary; Strong, Gary; Verplank, William: ACM SIGCHI Curricula for Human- Computer Interaction, Report of the ACM SIGCHI Curriculum Development Group, ACM, 1992 http://sigchi.org/cdg/ [Hightower 1998] Hightower, Ron R.; Ring, Laura T.; Helfman, Jonathan I.; Bederson, Benjamin B.; Hollan, James D.: Graphical multiscale Web histories – A study of PadPrints, Proceedings of the Ninth ACM Conference on Hypertext, S. 58-65, 1998 [Hornbæk et al.] Hornbæk, Kasper; Bederson, Benjamin B.; Plaisant, Catherine: Navigation patterns and usability of zoomable user interfaces with and without an overview, ACM Transactions on Computer-Human Interaction, Volume 9, Issue 4, S. 362-389, 2002 [HTML] World Wide Web Consortium: HyperText Markup Language (HTML) http://www.w3.org/TR/html/ [HTML Tidy] HTML Tidy Library Project: HTML Tidy Project Page http://tidy.sourceforge.net/ [HTTP] World Wide Web Consortium: Hypertext Transfer Protocol http://www.w3.org/Protocols/ [ICC] International Color Consortium, ICC Homepage http://www.color.org/

162 8 Literatur

[IEEE ACM 2001] IEEE Computer Society, ACM: CS255S. Computer Graphics, Computing Curricula 2001: Computer Science, 2001 http://www.sigcse.org/cc2001/cc2001.pdf [Ip et al. 2001] Ip, Albert; Morrison, Iain; Currie, Mike: What is a learning object, technically?, Proceedings of WebNet 2001 – World Conference on the WWW and Internet, 2001 [ITO] Information Technology Online: Information Technology Online (ITO) http://www.ito-projekt.de/ [Jackson 2003] Jackson, Dean: Making Accessible SVG, Proceedings of the SVG Open Conference, 2003 http://www.svgopen.net/2003/paperAbstracts/ making_accessible_svg.html [JavaScript] Mozilla Foundation: JavaScript http://www.mozilla.org/js/ [Josefy 2002] Josefy, Bodo: Konzeption und Erstellung einer Presentation Engine für eine verteilte Lernplattform im Internet, Diplomarbeit, Institut für Visualisierung und Interaktive Systeme, Universität Stuttgart, 2002 [Kahlisch 1998] Kahlisch, Thomas: Software-ergonomische Aspekte der Studierumgebung blinder Menschen, Dissertation, Fakultät Informatik, Technische Universität Dresden, 1998 [Karshmer et al. 2004] Karshmer, Arthur; Guo, Hai-Feng; Gupta, Gopal; Pontelli, Enrico; Miesenberger, Klaus; Ammalai, N.; Gopal, Deepa; Batusic, Mario; Stöger, Bernhard; Palmer, Brian: A system for universal mathematics accessibility, Proceedings of the ACM SIGACCESS Conference on Computers and Accessibility, 2004. [Kawai et al. 1996] Kawai, Yoshihiro; Tomita, Fumiaki: Interactive tactile display system: a support system for the visually disabled to recognize 3D objects, Proceedings of the second annual ACM conference on Assistive technologies, S. 45-50, 1996

163 8 Literatur

[Kerres 2002] Kerres, Michael: Online- und Präsenzelemente in hybriden Lernarrangements kombinieren. In Hohenstein, Andreas; Wilbers, Klaus (Hrsg.): Handbuch E-Learning,Fachverlag Deutscher Wirtschaftsdienst, Köln, 2002 [King et al. 2004] King, Alasdair; Blenkhorn, Paul; Crombie, David; Dijkstra, Sijo; Evans, David Gareth; Wood, John: Presenting UML Software Engineering Diagrams to Blind People, Proceedings of the 9th International Conference on Computers Helping People with Special Needs, S. 522-529, 2004 [Kochanek 1990] Kochanek, Dirk: Ein Hypertext-System für blinde Zeitungsleser, Diplomarbeit Nr. 718, Institut für Informatik, Universität Stuttgart, 1990 [Knödler 2005] Knödler, Sven: Taktiler Browser für blinde Menschen zur Navigation im World Wide Web, Studienarbeit, Institut für Visualisierung und Interaktive Systeme, Universität Stuttgart, 2005 [Koper 2001] Koper, Rob: Modeling units of study from a pedagogical perspective, the pedagogical meta-model behind EML, Educational Technology Expertise Centre, Open University of the Netherlands, 2001 http://eml.ou.nl/introduction/articles.htm [Küper 2003] Küper, Michael: Remote Event Handling für XML-basierte graphische Benutzungsoberflächen, Diplomarbeit, Institut für Visualisierung und Interaktive Systeme, Universität Stuttgart, 2003 [Kurze 1997] Kurze, Martin: Interaktion Blinder mit virtuellen Welten auf der Basis von zweidimensionalen taktilen Darstellungen, Tagungsband Software-Ergonomie 97, 1997 [Kurze 1999] Kurze, Martin: Methoden zur computergenerierten Darstellung räumlicher Gegenstände für Blinde auf taktilen Medien, Dissertation, Fachbereich Mathematik und Informatik, Freie Universität Berlin, 1999 http://www.diss.fu-berlin.de/1999/37/

164 8 Literatur

[Lambda] Lambda Project: Linear Access to Mathematics for Braille Device and Audio-synthesis (LAMBDA) http://www.lambdaproject.org/ [LMML] Universität Passau: Learning Material Markup Language http://www.lmml.de/ [Lokowandt et al. 1994] Lokowandt, Georg; Schweikhardt, Waltraud: Distinguishing Pattern-Types in Printed Documents, Proceedings of 4th International Conference on Computers for Handicapped Persons, S. 206-213, 1994 [LOM] IEEE Learning Technology Standards Committee (LTSC): WG12: Learning Object Metadata, http://ltsc.ieee.org/wg12/ [Looking Glass] Project Looking Glass: lg3d: Project Looking Glass https://lg3d.dev.java.net/ [LTSC] IEEE Learning Technology Standards Committee: IEEE LTSC http://ltsc.ieee.org/ [Lüthi 1999] Lüthi, Friedrich: Tastbare Windows mit Sprachausgabe (TAWIS) – Wie kann ein Blinder mit Windows arbeiten?, 1999 [MathML] World Wide Web Consortium: MathML- Math Home http://www.w3.org/Math/ [McCathieNevile et al. 2002] McCathieNevile, Charles; Koivunen, Marja-Riitta: Accessibility Features of SVG, W3C Note, 2002 http://www.w3.org/TR/SVG-access/ [McCormack et al. 2004] McCormack, Cameron; Marriott Kim; Meyer, Bernd: Adaptive layout using one-way constraints in SVG, Proceedings of the SVG Open Conference, 2004 http://www.svgopen.org/2004/papers/ConstraintSVG/ [McLaren 1976] McLaren, K.: The development of the CIE 1976 (L*a*b*) uniform colour space and colour-difference formula, Journal of the Society of Dyers and Colourists 92, S. 338-341, 1976

165 8 Literatur

[Merlot] Merlot Consortium: Multimedia Educational Resource for Learning and Online Teaching (Merlot) http://www.merlot.org/ [Metacoon] Metacoon-Services: metacoon-services homepage http://www.metacoon.de/ [Meyer zu Bexten et al. 2000] Meyer zu Bexten, Erdmuthe; Hahn, Volker F.: LaTeX oder Mathematikschrift für blinde und sehbehinderte Studierende?, In Blind, Sehbehindert, Zeitschrift für das Sehgeschädigten-Bildungswesen, Verband der Blinden- und Sehbehindertenpädagogen und -pädagoginnen, Verein zur Förderung der Blindenbildung, Hannover, Ausgabe 4/2000, S. 219- 228, 2000 [Mozilla] Mozilla Foundation: Mozilla.org http://www.mozilla.org/ [Münz] Münz, Stefan: SELFHTML http://selfhtml.teamone.de/ [Muschalek 1995] Muschalek, Renate: Gestickt zum Fühlen, Tagungsband Taktile Medien – Kolloquium über tastbare Abbildungen für Blinde, Dresden, Innovative Techniken des BSVS e.V., Dresden, S. 137- 142, 1995 [Namespaces] World Wide Web Consortium: Namespaces in XML, http://www.w3.org/TR/REC-xml-names/ [Nemeth 1998] Nemeth, Abraham: Some thoughts on assistive technology for the blind, Proceedings of the third international ACM conference on Assistive technologies, 1998 [Neumann 2002] Neumann, Andreas: Comparing .SWF (Shockwave Flash) and .SVG (Scalable Vector Graphics) file format specifications http://www.carto.net/papers/svg/comparison_flash_svg/ [OASIS] Organization for the Advancement of Structured Information Standards: OASIS Homepage http://www.oasis-open.org/

166 8 Literatur

[Oberparleiter 2002] Oberparleiter, Peter: Eine Architektur zur gemeinsamen Nutzung von Anwendungen in der Lehre mit prototypischer Realisierung von Tafel und Leinwand, Diplomarbeit, Institut für Parallele und Verteilte Systeme, Universität Stuttgart, 2002 [Oeltjen 2003] Oeltjen, Wiebke: OpenOffice.org as an Authoring Tool in the FIGARO Project, Proceedings of the OpenOffice.org Conference, 2003 http://marketing.openoffice.org/conference/ OOoCon2003.html [OMG] Object Management Group: Object Management Group Homepage http://www.omg.org/ [Open Design Alliance] Open Design Alliance: Open Design Alliance http://www.opendesign.com/ [OpenGL|ES] Khronos Group: OpenGL ES Overview http://www.khronos.org/opengles/ [OpenMath] OpenMath Society: OpenMath http://www.openmath.org/ [OpenOffice.org] OpenOffice.org: OpenOffice.org Home http://www.openoffice.org/ [OpenVG] Khronos Group: OpenVG Overview, http://www.khronos.org/openvg/ [Otte 2004] Otte, Kerstin: Werkzeug zur taktilen Aufbereitung von Scalable Vector Graphics für Blinde, Studienarbeit, Institut für Visualisierung und Interaktive Systeme, Universität Stuttgart, 2004 [Perlin et al. 1993] Perlin, Ken; Fox, David: Pad – An Alternative Approach to the Computer Interface, Proceedings of the 20th Annual Conference on Computer Graphics and Interactive Techniques, S. 57-64, 1993 [PGML] World Wide Web Consortium: Precision Graphics Markup Language http://www.w3.org/TR/1998/NOTE-PGML [Raskin 2000] Raskin, Jef: The Humane Interface – New Directions for Designing Interactive Systems, Addison-Wesley, Boston 2000

167 8 Literatur

[Rawlings et al. 2002] Rawlings, Adrian; van Rosmalen, Peter; Koper, Rob; Rodríguez-Artacho, Miguel; Lefrere, Paul: Survey of Educational Modelling Languages (EMLs), CEN/ISSS WS/LT Learning Technologies Workshop, 2002 [RDF] World Wide Web Consortium: Resource Description Framework (RDF) http://www.w3.org/RDF/ [RDP] Microsoft Coperation: MSDN Library: Remote Desktop Protocol (RDP) Features and Performance http://www.microsoft.com/windows2000/techinfo/ howitworks/terminal/rdpfandp.asp [Rees 2002] Rees, Michael J.: Evolving the Browser Towards a Standard User Interface Architecture, Proceedings of the Third Australasian conference on User interfaces, Australian Computer Society, 2002 [Relax] Japan XML User Group: Regular Language description for XML http://www.xml.gr.jp/relax/ [Relax NG] Organization for the Advancement of Structured Information Standards – Relax NG Technical Committee: OASIS Relax NG TC http://www.oasis-open.org/committees/relax-ng/ [Rice et al. 1996] Rice, James; Farquhar, Adam; Piernot, Philippe; Gruber, Thomas: Using the Web Instead of a Window System, Proceedings of Computer Human Interaction Conference, 1996 [RMI] Sun Microsystems: Java Remote Method Invocation http://java.sun.com/products/jdk/rmi/ [Rotard et al. 2002a] Rotard, Martin; Schweikhardt, Waltraud; Ertl, Thomas: Verwendung von Scalable Vector Graphics und MathML in web- basierten Lernumgebungen, Tagungsband Mensch und Computer, Workshop Computer Support for Collaborative Learning (CSCL): Neue Konzepte für die Gestaltung kooperativer Lernumgebungen, 2002 [Rotard et al. 2002b] Rotard, Martin; Ressel, Matthias; Ertl, Thomas: Hin und her im Hyperspace: Verlustloses lineares Navigieren, Tagungsband der 10. Leipziger Informatik Tage, S. 138-145, 2002

168 8 Literatur

[Rotard et al. 2003a] Rotard, Martin; Bosse, Klaus; Schweikhardt, Waltraud; Ertl, Thomas: Access to Mathematical Expressions in MathML for the Blind, Proceedings of the HCI International Conference, S. 1325-1329, 2003 [Rotard et al. 2003b] Rotard, Martin; Finsterle, Lutz: Creating and Publishing Courseware Independent of the Authoring System, Proceedings of the Technology Enhanced Learning Conference, S. 251-254, 2003 [Rotard et al. 2004a] Rotard, Martin; Otte, Kerstin; Ertl, Thomas: Exploring Scalable Vector Graphics for Visually Impaired Users, Proceedings of the 9th International Conference on Computers Helping People with Special Needs, S. 725-730, 2004 [Rotard et al. 2004b] Rotard, Martin; Ertl, Thomas: Tactile Access to Scalable Vector Graphics for People with Visual Impairment, Proceedings of the SVG Open Conference, 2004 http://www.svgopen.org/2004/papers/TactileAccessToSVG/ [Rotard et al. 2004c] Rotard, Martin; Finsterle, Lutz: Erstellung lernplattformunabhängiger Lehrmodule, In Peter Göhner (Hrsg.): Information Technology Online, Waxmann Verlag, Münster, S. 161-186, 2004 [Rotard et al. 2004d] Rotard, Martin; Schweikhardt, Waltraud; Ertl, Thomas: Aufbereitung von Lehrmaterialien für sensorisch behinderte Menschen, In Peter Göhner (Hrsg.): Information Technology Online, Waxmann Verlag, Münster, S. 235-246, 2004 [Rotard et al. 2004e] Rotard, Martin; Weiskopf, Daniel; Ertl, Thomas: An Introductory Course on Graphical-Interactive Systems: Combining Human-Computer Interaction and Computer Graphics, Procceedings of the Eurographics/ACM SIGGRAPH Workshop on Computer Graphics Education, 2004 [Rotard et al. 2004f] Rotard, Martin; Weiskopf, Daniel; Ertl, Thomas: Curriculum for a Course on Scientific Visualization, Procceedings of the Eurographics/ACM SIGGRAPH Workshop on Computer Graphics Education, 2004

169 8 Literatur

[Rotard 2004g] Rotard, Martin: XML-basierte Graphikstandards für interaktive Systeme: Erleichterter Zugang zu graphischer Information, Virtuelle und Erweiterte Realität, Tagungsband zum Graphiktag des GI- Fachbereichs Graphische Datenverarbeitung, S. 373-384, 2004 [Rotard et al. 2005a] Rotard, Martin; Weiskopf, Daniel; Ertl, Thomas: A combined introductory course on human-computer interaction and computer graphics, Computers & Graphics, Volume 29, Issue 2, Elsevier, S. 267-272, 2005 [Rotard et al. 2005b] Rotard, Martin; Ertl, Thomas: Layout Managers for Scalable Vector Graphics, Proceedings of the SVG Open Conference, 2005 http://www.svgopen.org/2005/papers/LayoutManagersForSVG [Rotard et al. 2005c] Martin Rotard, Sven Knödler, Thomas Ertl: Tactile Web Browser for the Visually Disabled, Proceedings of the Sixteenth ACM Conference on Hypertext and Hypermedia, 2005 [Sahyun 1998] Sahyun, Steve; Bulatov, Vladimir; Gardner, John A.; Preddy, Mark: A How-To Demonstration For Making Tactile Figures And Tactile Formatted Math Using The Tactile Graphics Embosser, Proceedings of the 1998 Center On Disabilities International Conference on Technology and Persons with Disabilities, Los Angeles, 1998 [SAX] Brownell, David; Megginson, David: Simple API for XML (SAX) http://www.saxproject.org/ [Scheid et. al. 1930] Scheid, F. M.; Windau, W.; Zehme, G.: System der Mathematik- und Chemieschrift für Blinde, Deutsche Blindenstudienanstalt, Marburg a.d. Lahn, 1930 [Schulmeister 2000] Schulmeister, Rolf: Selektions- und Entscheidungskriterien für die Auswahl von Lernplattformen und Autorenwerkzeuge, Gutachten für das Österreichische Bundesministerium für Bildung, Wissenschaft und Kultur, 2000 [Schulmeister 2001] Schulmeister, Rolf: Virtuelle Universität – virtuelles Lernen, Oldenbourg Verlag, München, Wien, 2001

170 8 Literatur

[Schniederberend 2003] Schniederberend, Tanja: Cross Media Publishing von Lehrmaterialien mit XML Schema & XSL-Transformationen, Diplomarbeit, Fachbereich Mathematik/Informatik, Universität Osnabrück, 2003 [Schweikhardt 1980] Schweikhardt, Waltraud: A Computer Based Education System for the Blind, In Lavington, S. H. (Hrsg.): Information Processing 80, North Holland Publishing Company, S. 951-954, 1980 [Schweikhardt et al. 1984] Schweikhardt, Waltraud; Klöpfer, Klaus: Computer Aided Conversion of Videotex-Graphics into a Tactile Representation. Tagungsband der Internationalen Konferenz über Reliefdarstellungen für Blinde, 1984 [Schweikhardt 1996] Schweikhardt, Waltraud: Interactive Exploring of Printed Documents by Visually impaired People, Proceedings of the 5th international conference on Computers helping people with special needs, S. 451-458, 1996 [Seemann] Seemann, Michael: XML kompakt – Oder wie man den Umgang mit XML ressourcenschonend gestalten kann, In XML & Web Services Magazin, Software & Support Verlag, Frankfurt, Ausgabe 01/2004, 2004 [SGML] World Wide Web Consortium: Overview of SGML Resources http://www.w3.org/MarkUp/SGML/ [SIGCHI] ACM Special Interest Group on Computer-Human Interaction: ACM/SIGCHI Home Page http://www.sigchi.org/ [SIGCSE] ACM Special Interest Group on Computer Science Education: SIGCSE Home http://www.sigcse.org/ [SIGGRAPH] ACM Special Interest Group on Computer Graphics: ACM SIGGRAPH Home Page http://www.siggraph.org/ [SMIL] World Wide Web Consortium: Synchronized Multimedia, http://www.w3.org/AudioVideo/

171 8 Literatur

[SOAP] World Wide Web Consortium: Simple Object Access Protocol http://www.w3.org/TR/soap/ [SPARK] Lewis, Christopher; Fettes, Alastair; Mansfiel, Philip; Peto, Chris: SVG Programmers' Application Resource Kit (SPARK) http://spark.sourceforge.net/ [SVG] World Wide Web Consortium: Scalable Vector Graphics (SVG) http://www.w3.org/TR/SVG/ [SVG Accessibility] World Wide Web Consortium: Accessibility Features of SVG http://www.w3.org/TR/SVG-access/ [SVG Mobile] World Wide Web Consortium: Mobile SVG Profiles: SVG Tiny and SVG Basic http://www.w3.org/TR/SVGMobile/ [sXBL] World Wide Web Consortium: SVG's XML Binding Language (sXBL) http://www.w3.org/TR/sXBL/ [SZS 2001] Studienzentrum für Sehgeschädigte: Handbuch zur Erstellung taktiler Graphiken, Universität Karlsruhe, Dritte Auflage, 2001 http://www.szs.uni-karlsruhe.de/4forschung/3handbucher/ data/grafik.pdf [Targeteam] Technische Universität München: Targeteam – TArgeted Reuse and GEneration of TEAching Materials http://www.targeteam.net/ [THE] The Humane Environment Project: Jef Raskin's Humane Environment – The Humane Environment (THE), Sourceforge-Project http://sourceforge.net/projects/humane/ [Trax] Thai Open Source Software Center: TREX – Tree Regular Expressions for XML http://thaiopensource.com/trex/ [UDDI] Organization for the Advancement of Structured Information Standards: Universal Description, Discovery and Integration (UDDI) Protocol http://www.uddi.org/

172 8 Literatur

[UIML] UIML.org: User Interface Markup Language http://www.uiml.org/ [Unicode] The Unicode Consortium: Unicode Home Page http://www.unicode.org/ [Van der Vlist 2003] Van der Vlist, Eric: RELAX NG, O'Reilly & Associates, Sebastopol, 2003 [Vista] Microsoft Corporation: Microsoft Windows Vista Developer Center http://msdn.microsoft.com/windowsvista/ [VML] World Wide Web Consortium: (VML) http://www.w3.org/TR/NOTE-VML [VNC] AT&T: Virtual Network Computing (VNC) http://www.uk.research.att.com/vnc/ [W3C] World Wide Web Consortium, World Wide Web Consortium http://www.w3.org/ [WAI] World Wide Web Consortium: Web Accessibility Initiative, http://www.w3.org/WAI/ [Watt et al. 2002] Watt, Andrew H.; Lilley, Chris: SVG Unleashed, Sams, Indianapolis, 2002 [Weakley 2004] Weakley, Russ: An Introduction to Web Standards, Proceedings of the WebEssentials04 Conference, 2004 http://we04.com/resources/we04-introduction/ [Web3D] Web3d-Consortium: Web3D Consortium – Open Standards for Real-Time 3D Communication http://www.web3d.org/ [WebArch] World Wide Web Consortium: Architecture of the World Wide Web http://www.w3.org/TR/webarch/ [WebCGM] World Wide Web Consortium: WebCGM Profile http://www.w3.org/Graphics/WebCGM/ [Weber et al. 1994] Weber, Gerhard; Petrie, Helen; Kochanek, Dirk; Morley, Sarah: Training blind people the use of graphical user interfaces, Proceedings of 4th International Conference on Computers for Handicapped Persons, S. 25-31, 1994

173 8 Literatur

[Wiley 2001] Wiley, David A.: Connecting learning objects to instructional design theory: A definition, a metaphor, and a taxonomy, In Wiley, David A. (Hrsg.): The Instructional Use of Learning Objects, AIT/AECT, 2001 [WSDL] World Wide Web Consortium: Web Services Description Language http://www.w3.org/TR/wsdl [X11] X.Org: The X Protocol http://www.x.org/X11_protocol.html [X3D] Web3D Consortium: Extensible 3D Graphics Working Group http://www.web3d.org/x3d.html [XBL] Mozilla Foundation: XBL – Extensible Binding Language http://www.mozilla.org/projects/xbl/xbl.html [XForms] World Wide Web Consortium: XForms – the next generation of Web forms http://www.w3.org/TR/xforms/ [XHTML] World Wide Web Consortium: XHTML – The Extensible HyperText Markup Language http://www.w3.org/TR/xhtml2/ [XInclude] World Wide Web Consortium: XML Inclusions (XInclude) http://www.w3.org/TR/xinclude/ [XLink] World Wide Web Consortium: XML Linking Language (XLink) http://www.w3.org/TR/xlink/ [XML] World Wide Web Consortium: Extensible Markup Language (XML) http://www.w3.org/TR/REC-xml/ [XML Events] World Wide Web Consortium: XML Events http://www.w3.org/TR/xml-events/ [XML Schema] World Wide Web Consortium: XML Schema http://www.w3.org/XML/Schema [XPath] World Wide Web Consortium: XML Path Language (XPath) http://www.w3.org/TR/xpath [XPointer] World Wide Web Consortium: XML Pointer Language (XPointer) http://www.w3.org/TR/xptr/

174 8 Literatur

[XQuery] World Wide Web Consortium: XQuery – An XML Query Language http://www.w3.org/TR/xquery/ [XSL] World Wide Web Consortium: The Extensible Stylesheet Language http://www.w3.org/Style/XSL/ [XSLT] World Wide Web Consortium: XSL Transformations http://www.w3.org/TR/xslt [XSLTML-Lib] Golovin, Pawel; Yaroshevich, Vasil I.; Hertz, Thomas: XSLT MathML Library http://sourceforge.net/projects/xsltml/ [XUL] Mozilla Foundation: XUL bei oasis-open.org http://www.mozilla.org/projects/xul/ [Zimmermann 1998] Zimmermann, Gottfried: GONVI – Non-Visual Access to Documents and GUIs with a Constraint-Based Approach, International Conference on Computers Helping People with Special Needs, S. 379-386, 1998

175