E-Kreide, eine elektronische Tafel für die multimediale Lehre

Größe: px
Ab Seite anzeigen:

Download "E-Kreide, eine elektronische Tafel für die multimediale Lehre"

Transkript

1 E-Kreide, eine elektronische Tafel für die multimediale Lehre Diplomarbeit Wolf-Ulrich Raffel Fachbereich Mathematik und Informatik Freie Universität Berlin Betreuer: Prof. Dr. Raúl Rojas Lars Knipping Abgabetermin: Seite 1 von 61

2 0. Inhaltsverzeichnis 0. INHALTSVERZEICHNIS EINFÜHRUNG Kurzbeschreibung Beteiligte Personen Motivation EXISTIERENDE PROJEKTE Erweitertes Whiteboard (Uni Freiburg/Uni Mannheim) Kurzbeschreibung Kritik und Vergleich zu E-Kreide Virtual Blackboard (Exodus S.A., Griechenland) Kurzbeschreibung Kritik und Vergleich zu E-Kreide DIANA (HU Berlin/TU München) Kurzbeschreibung Kritik und Vergleich zu E-Kreide ACIT (Uni Dortmund) Kurzbeschreibung Kritik und Vergleich zu E-Kreide Resümee ARCHITEKTUR BENUTZERSCHNITTSTELLE Benutzerschnittstelle für Vortragende Einstellungen über Konfigurationsdatei Beschränkungen für die Verwendung von Applets Einrichten der WWW-Seiten Offline-Betrachtung Live- und zeitversetzte Betrachtung Benutzerschnittstelle für Betrachter Seite 2 von 61

3 5. ENTWURF UND IMPLEMENTIERUNG Gemeinsame Klassen Kommunikationsprotokoll Kodierung von Ereignissen Tafel Server Client MASI Behandlung von Ereignissen AUSBLICK Verbesserung der Implementierung Anpassung an JDK Erweiterungen RESÜMEE ANHANG Abbildungsverzeichnis Personen Literaturverzeichnis, Links Seite 3 von 61

4 1. Einführung Was ist E-Kreide? E-Kreide [8], englisch e-chalk, steht für eine elektronische Kreidetafel, die zusammen mit Raúl Rojas [5], Lars Knipping [3] und Gerald Friedland [1] von mir [4] an der Freien Universität Berlin entwickelt wurde. Welchen Anteil die beteiligten Personen zum Projekt beigesteuert haben, wird in Kapitel 1.2. erläutert Kurzbeschreibung E-Kreide ist ein Programm, das es ermöglicht, Vorträge, Vorlesungen, Tutorien, Schulunterricht o.ä. mit Maus und Tastatur zu halten, so dass sie auf dem an den Rechner angeschlossenen Monitor zu sehen sind. Dabei handelt es sich um die technischen Mindestanforderungen, die also ausgesprochen gering sind. Allerdings ist ein Monitor (heutzutage üblicherweise 19 Zoll) zur Verwendung in einer Vorlesung zu klein. Deshalb bietet es sich hier an, einen Beamer oder einen Plasmabildschirm zu verwenden. Beamer sind in den meisten großen Vorlesungssälen vorhanden und bieten den Vorteil, das Tafelbild auf die benötigte Größe bringen zu können. Plasmabildschirme besitzen einen stärkeren Kontrast, sind leuchtstark und haben brillante Farben, der Hörsaal muss daher nicht abgedunkelt werden. Allerdings haben heutige Plasmabildschirme erst eine Diagonale von 120 cm, sie bieten sich deshalb nur für Vorlesungen in kleinen Räumen mit einer Kapazität von bis zu 40 Plätzen an. Mit einer Maus ist es sehr schwierig, ein lesbares Tafelbild zu produzieren, deshalb ist es zu empfehlen, ein Grafiktablett mit elektronischem Stift zu verwenden. Aus Sicht des Programms verhält es sich wie eine Maus, aber man kann damit wie mit einem Kugelschreiber auf Papier schreiben und lesbare Texte erzeugen. Außerdem besteht bei einem kontaktsensitiven Plasmabildschirm die Möglichkeit, direkt auf den Bildschirm zu schreiben, so dass man eine Vorlesung mit E-Kreide auf einem Plasmabildschirm wie eine herkömmliche Vorlesung mit herkömmlicher Kreide auf einer herkömmlichen Tafel halten kann. Die Vorlesungsdaten werden in einem vorher vom Benutzer (dem Vortragenden) spezifizierten Verzeichnis abgelegt. Wenn das Verzeichnis weblesbar ist oder später in ein weblesbares Verzeichnis kopiert wird, kann man sich dann über das World Wide Web die Vorlesung anschauen. Wer dies tun will, braucht dafür einen Internet-Anschluss und einen javafähigen WWW-Browser. Auch hier sind die Anforderungen also denkbar gering. Der Seite 4 von 61

5 Benutzer braucht nur die URL der Vorlesung in seinen Browser einzugeben und sieht dann eine zeitgetreue Wiedergabe des Tafelbildes. Er kann die Vorlesung live, zeitversetzt oder auch offline betrachten. Unter live ist hierbei das direkte Betrachten einer Vorlesung, die gerade läuft, zu verstehen. Zeitversetzt ist ebenfalls das Betrachten einer Vorlesung, die gerade läuft, allerdings mit einer zeitlichen Verzögerung. Dies bietet sich an, wenn man zu dem Zeitpunkt, an dem die Vorlesung begonnen hat, keine Zeit hatte, sie zu betrachten, sie aber von Anfang an verfolgen möchte. Offline ist das Betrachten einer Vorlesung, die zu einem früheren Zeitpunkt stattgefunden hat. Das Wort offline ist nicht so zu verstehen, dass man die Vorlesung ohne bestehende Internet-Verbindung, was im Sprachgebrauch ebenfalls oft als offline bezeichnet wird, betrachten kann. Mit einer zusätzlichen Steuerkonsole kann der Betrachter außerdem die Wiedergabe der Vorlesung anhalten sowie vor- und zurückspulen. Um Vorlesungen betrachten zu können, muss er keine weitere Software installieren, es ist kein Plug-in erforderlich. Da jedoch das Tafelbild ohne die gesprochenen Worte des Dozenten den Vorlesungsinhalt nicht vollständig darstellt und eine Betrachtung des Tafelbildes ohne Ton nicht lebendig genug wäre, sondern eher einschläfernd wirkt, kann man mit Hilfe von World Wide Radio (WWR) [14], das an der FU von Gerald Friedland zusammen mit Bernhard Frötschl [2] entwickelt wurde, den Ton der Vorlesung ebenfalls übertragen. Um zu gewährleisten, dass Tafelbild und Ton auch synchron zueinander verlaufen, wurde die Synchronisationsschnittstelle MASI [11] entwickelt, die in Kapitel vorgestellt werden Beteiligte Personen Raúl Rojas war Ideengeber und ist Leiter des Projekts. Lars Knipping hat mich bei auftretenden technischen, entwurfs- und implementierungsspezifischen Problemen beraten und unterstützt. Außerdem hat er die Integration von Applets in das Projekt ermöglicht und einen wesentlichen Anteil an der Einbindung von Mathematica [12]. Gerald Friedland hat MASI entworfen und damit ermöglicht, WWR in das Projekt einzubinden, womit die Audioübertragung realisiert wurde. Ich habe ein Aufzeichnungsprogramm, mit dem Vorträge gehalten und aufgezeichnet werden, ein Kommunikationsprotokoll zwischen Server und Client sowie ein Betrachtungsprogramm, mit dem aufgezeichnete Vorträge betrachtet werden können, entwickelt. Seite 5 von 61

6 1.3. Motivation Wozu ist E-Kreide gut? E-Kreide wurde nicht in erster Linie als Teleteaching-Software entwickelt. Die direkte Kommunikation von Angesicht zu Angesicht in einer klassischen Vorlesungssituation hat sich in der Lehre bewährt und kann durch keine noch so ausgeklügelte Teleteaching-Software ersetzt werden. So ist etwa das Stellen von Zwischenfragen beim zeitversetzten Betrachten der Vorlesung unpassend, bei der Offline-Betrachtung gar nicht möglich. Selbst bei Live-Betrachtung sind Zwischenfragen in den meisten Teleteaching-Projekten zwar möglich, laufen aber nicht so reibungslos ab wie die Zwischenfrage eines Zuhörers, der direkt im Hörsaal sitzt. Bei E-Kreide ist das Stellen von Zwischenfragen bisher nicht möglich, soll aber in der Zukunft möglich sein. Die Mimik und Gestik des Dozenten könnte nur bei sehr guter Videoübertragung übermittelt werden. Dies ist sehr schwierig, wenn auch Benutzern, die eine Internet-Verbindung über ein langsames Modem haben, ermöglicht werden soll, die Vorlesung zu betrachten. In E-Kreide gibt es bisher keine Videoübertragung, sie soll aber in Zukunft eingebaut werden. Dabei ist aber nicht an ein Video des Tafelbildes gedacht, da es entweder zu schlecht wäre, um das Geschriebene zu erkennen oder eine zu große Bandbreite erfordern würde. Stattdessen wird ein Video des Dozenten übertragen, um seine Mimik und Gestik zu erfassen und die Vorlesung persönlicher zu gestalten. Der Dozent seinerseits bekommt von den Zuhörern, die sich die Vorlesung über das Internet anhören, nur dann ein Feedback, wenn sie Zwischenfragen stellen, er kann nicht in ihre Gesichter schauen, die ausdrücken, ob sie der Vorlesung folgen können oder eventuell Verständnisprobleme haben. So ist das Betrachten von Vorlesungen nur im Internet und nicht im Hörsaal vor allem dann sinnvoll, wenn die räumliche Distanz ein physisches Erscheinen bei der Vorlesung erschwert oder unmöglich macht, man krankheitsbedingt nicht außer Haus gehen kann oder aus zeitlichen Gründen der Vorlesung nicht beiwohnen kann oder möchte, etwa bei Überschneidungen mit anderen Veranstaltungen oder zu unbeliebten Terminen, etwa früh morgens oder spät abends. Auch wenn man für eine längere Zeit, etwa bei einem Krankenhausaufenthalt, Berufspraktikum oder einer Auslandstätigkeit nicht an den Vorlesungen teilnehmen konnte, kann man sich das Versäumte schrittweise nacharbeiten und so noch in eine Vorlesung einsteigen, bei der man sonst den Anschluss verpasst hätte. Und Menschen, die aufgrund einer Krankheit oder Behinderung nicht in der Lage sind, eine Vorlesung zu besuchen, wird durch E-Kreide ein Studium überhaupt erst ermöglicht. Die Betrachtung der Vorlesung im Internet zusätzlich zur Betrachtung im Hörsaal bietet die Möglichkeit der Nachbereitung der Vorlesung entweder in zeitlichem Zusammenhang zur Vorlesung oder auch lange Zeit später, etwa bei der Vorbereitung auf eine Klausur oder Prüfung. Seite 6 von 61

7 Doch auch für die klassische Vorlesungssituation im Hörsaal bietet E-Kreide Vorteile gegenüber der Vorlesung mit realer Kreide. So brauchen die Zuhörer nicht mitzuschreiben, da sie wissen, dass sie hinterher die Vorlesung im Internet noch einmal nachvollziehen können. Sie haben so die Möglichkeit, sich ganz auf den Vortragenden zu konzentrieren. Dieser wiederum braucht sich nicht mit Folien, Power-Point-Präsentationen o.ä. vorzubereiten, sondern kann spontan das Tafelbild gestalten und dabei auch dynamisch auf Fragen und Bedürfnisse des Auditoriums eingehen. Dies wird auch als "Authoring-on-the-fly" bezeichnet. Wer jedoch seine Vorlesungen gerne mit Folien, Grafiken oder Bildern vorbereitet, kann diese verwenden, sofern er sie in einem Standard-Bildformat (GIF oder JPG) im World Wide Web oder lokal auf dem für die Vorlesung benutzten Rechner ablegt. Diese kann er während der Vorlesung auf der Tafel anzeigen lassen und dynamisch durch Freihandzeichnungen oder Text ergänzen. Hierbei können nicht nur eigene Bilder, sondern durch Angabe einer URL beliebige Bilder aus dem World Wide Web angezeigt werden. Neben Bildern können bei E-Kreide auch Applets in das Tafelbild integriert werden. Applets eignen sich sehr gut zum Demonstrieren schwieriger Sachverhalte mit Hilfe von kleinen Animationen. So können beispielsweise Algorithmen schrittweise ausgeführt, geometrische Konstruktionen durchgeführt oder biologische Vorgänge simuliert werden. Wie Bilder können Applets selbst vorbereitet sein oder - ggf. spontan, also ohne spezielle Vorbereitung vor der Vorlesung - durch Angabe einer URL von jeder beliebigen Seite aus dem World Wide Web genommen werden. Das Applet wird dann innerhalb des Tafelbildes ausgeführt und die beim Applet anfallenden Events werden aufgezeichnet, so dass sie beim Betrachter der Vorlesung im Internet abgespielt werden können. Allerdings gibt es für die Verwendung von Applets gewisse Einschränkungen, auf die in Kapitel noch genauer eingegangen wird. In E-Kreide besteht außerdem die Möglichkeit, Befehle für Mathematica einzugeben, deren Ergebnis dann auf der Tafel erscheint. Das Ergebnis kann entweder textuell (z.b. das Ergebnis einer Berechnung) oder eine Grafik sein (z.b. ein Funktionsgraph). Mathematica ist ein allgemeines Softwarepaket für mathematische Anwendungen, das algebraische, numerische und grafische Berechnungen ermöglicht. Dies ist in erster Linie für mathematische Vorlesungen sinnvoll, kann aber auch in anderen Bereichen sehr nützlich sein. Beim Abspeichern im angegebenen Verzeichnis werden die an der Tafel angefallenen Ereignisse im gleichen Format gespeichert, in dem sie auch an den Client übertragen werden. Dazu wurde ein proprietäres Protokoll entwickelt. Bei den Ereignissen handelt es sich im wesentlichen um Linien (Freihandzeichnungen), aber auch um über die Tastatur eingegebenen Text, Bilder, Applets sowie Verschiebungen des sichtbaren Bereichs. Alles in allem ist E-Kreide ein sehr nützliches Werkzeug für die Lehre, dessen Einsatz sich nicht nur auf mathematisch-naturwissenschaftliche Gebiete Seite 7 von 61

8 beschränkt, sondern aufgrund seiner Vielfalt und Allgemeinheit universell einsetzbar ist. Das gilt so auch für normale Kreide, die sich in der Lehre seit Jahrhunderten bewährt hat. Allerdings sind dort Integration von Applets und Betrachtung im World Wide Web nicht möglich. Seite 8 von 61

9 2. Existierende Projekte In diesem Kapitel wird eine Auswahl von bereits existierenden Projekten vorgestellt, die eine gewisse Ähnlichkeit mit E-Kreide haben. Dabei wird aufgezeigt, welche Nachteile sie für die Verwendung in der Lehre haben, die die Entwicklung von E-Kreide notwendig gemacht haben. Andererseits wird auch auf Vorteile der einzelnen Projekte gegenüber E-Kreide eingegangen Erweitertes Whiteboard (Uni Freiburg/Uni Mannheim) Kurzbeschreibung An der Universität Freiburg wurde in Zusammenarbeit mit der Universität Mannheim ein erweitertes Whiteboard für Teleteaching und Authoring on the fly [9] entwickelt. Dabei wird Teleteaching mittels einer elektronischen Tafel realisiert. Das Ziel des Whiteboards ist es, gleichermaßen für das Halten von Vorlesungen am Rechner und für Teleteaching geeignet zu sein. Dabei bereitet der Dozent Folien als farbige Postscriptdateien vor und installiert evtl. benötigte Animationen und Simulationsprogramme auf dem Rechner, auf dem die Vorlesung gehalten werden soll. Die bei der Vorlesung anfallenden Audio-, Video- und Whiteboard-Aktions-Ströme werden aufgezeichnet, um hinterher zu einem multimedialen Dokument zusammengefasst werden zu können. Dieses kann dann mit Hilfe eines Receiver-Programms wiedergegeben werden (Replay). Dabei kann man vor- und zurückspulen sowie bestimmte Vorlesungsteile gezielt anspringen. Receiver-Programme wurden für die Plattformen IRIX (SGI), Solaris (Sun) und Linux (PC) entwickelt. Große Datenmengen (Bilder, Folien, Filme, Animationen o.ä.) werden dabei unter einer vorher angekündigten ftp-adresse abgelegt und müssen von den Empfängern vor dem Replay abgeholt werden. Live-Übertragungen von Vorlesungen sind auch möglich. Dabei wird Mbone verwendet, um Vorlesungen aus Freiburg über Stuttgart nach Mannheim zu übertragen. Die Übertragung wird dabei durch das an der Universität Mannheim entwickelte Scalable Multicast Protokoll (smp) realisiert. Dabei ist es problematisch, wenn ein Empfänger in eine laufende Vorlesung verspätet einsteigt (late join). Da es sich um ein Multicast-Protokoll handelt, kann es im schlechtesten Fall sogar den gesamten Ablauf der Vorlesung blockieren. Seite 9 von 61

10 Kritik und Vergleich zu E-Kreide Die Idee, ein Tool sowohl für das Halten von Vorlesungen im Hörsaal als auch für Teleteaching zu entwickeln, haben das Whiteboard und E-Kreide gemeinsam. Ebenso verhält es sich mit dem Aufzeichnen von Audio-, Video- und Whiteboard- Aktions-Strömen sowie einem Replay, bei dem Spulen möglich ist. Allerdings ist Videoaufzeichnung bei E-Kreide bisher erst in Planung. E-Kreide bietet aber sowohl dem Dozenten als auch den Studenten mehr Komfort in der Benutzung. So muss der Dozent nicht erst Animationen und Simulationsprogramme auf dem Vorlesungsrechner installieren. Das Vorbereiten von Folien ist auch nur dann erforderlich, wenn diese wie eine reale Folie auf einmal aufgelegt und nicht an der Tafel schrittweise entwickelt werden sollen. Auch in diesem Fall müssen die Folien nicht auf den Vorlesungsrechner gespielt werden, sondern können auch an einer WWW-Adresse abgelegt werden. Während beim Whiteboard die Übertragung auch auf studenteneigene Rechner (über ISDN) nur eine Vision darstellt, ist das bei E-Kreide bereits Realität. Der Student muss das Receiver-Programm für das Whiteboard erst auf seinem Rechner installieren, bevor er eine Vorlesung betrachten kann, während für E- Kreide nur das Vorhandensein eines javafähigen WWW-Browsers gefordert wird. Ein weiterer Nachteil des Whiteboards ist seine Plattformabhängigkeit. Insbesondere ist die Zielgruppe durch das Fehlen eines Receiver-Programms für PCs unter Windows stark eingeschränkt. Während beim Whiteboard große Datenmengen über ftp vorher abgeholt werden müssen, sind bei E-Kreide die Datenmengen so klein gehalten, dass sie während der Vorlesung auch bei niedriger Bandbreite (etwa 28.8Kbps-Modem) übertragen werden können. Die Möglichkeit der Live-Übertragung von Vorlesungen haben das Whiteboard und E-Kreide gemeinsam. Allerdings sind beim Whiteboard Mbone-Tools erforderlich, während bei E-Kreide aufgrund der geringen Datenmenge das Internet verwendet werden kann, wobei zwischen dem Serverrechner (z.b. der Rechner, auf dem die Vorlesung gehalten wird) und jedem Clientrechner eine unabhängige TCP/IP-Socket-Verbindung aufgebaut wird. Dadurch ist im Gegensatz zum Whiteboard der "late join" unproblematisch. Der verspätete Betrachter kann sich sogar aussuchen, ob er die Vorlesung von Beginn an zeitversetzt oder live betrachten will. Alles in allem hat E-Kreide entscheidende Vorteile gegenüber dem Whiteboard. Lediglich für die Übertragung von Hörsaal zu Hörsaal bei Vorhandensein einer Datenleitung mit sehr hohem Datendurchsatz hat das Whiteboard Vorteile. So können Audio- und Videoströme durch die höhere Bandbreite in besserer Qualität übertragen werden. Allerdings ist es mit Hilfe von WWR möglich, die Datengröße des Audiostroms bei sehr geringem Qualitätsverlust deutlich zu Seite 10 von 61

11 senken. Sollte dies für den Videostrom ebenfalls gelingen, wäre auch dieser Nachteil ausgemerzt Virtual Blackboard (Exodus S.A., Griechenland) Kurzbeschreibung Virtual Blackboard [13] ist ein Projekt, das von Exodus S.A. (Athen, Griechenland) geleitet wird und an dem u.a. die Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung beteiligt ist. Ziel des Projektes ist es, eine Unterrichtsumgebung zu schaffen, die neue Technologien wie z.b. MPEG4 verwendet, um spezialisierte Vorlesungen zu ermöglichen. Dabei ist an Vorlesungen gedacht, bei denen Studenten sich an verschiedenen Universitäten befinden, mehrere Dozenten an verschiedenen Orten eine Vorlesung halten (z.b. wenn sich einer von ihnen an einer Ausgrabungsstätte befindet) oder die Anwesenheit der Studenten am Vorlesungsort nicht möglich ist (z.b. bei einer medizinischen Operation). Virtual Blackboard ist konzipiert für Vorlesungsstoff, der einen hohen Anteil an Multimedia und die Manipulation von dreidimensionalen Objekten erfordert. Der Vortragende kann dabei multimediale Objekte bereitstellen, so dass eine Vorlesung als Menge von Szenarien, die ihrerseits wieder eine Menge von Objekten darstellen, aufzufassen ist. Er kann entscheiden, wie die Betrachter mit den Objekten interagieren können und interaktiv seine Vorlesung auf diese Aktionen anpassen. Die Studenten dagegen können die Objekte, die auf ihrem Bildschirm erscheinen, manipulieren (Drag and Drop, rotieren, verschieben etc.), das Livevideo, auf dem sie die Vorlesung sehen, anhalten, zurück- und wieder vorspulen sowie mit anderen Studenten kommunizieren. Es ist auch möglich, dass zwei Vortragende an verschiedenen Orten eine Vorlesung halten. Dabei haben entweder beide gemeinsam die Kontrolle über das Vorlesungsszenario oder sie können sich die Kontrolle gegenseitig weitergeben. Leider lässt sich aus der Projektbeschreibung des Virtual Blackboards nicht erkennen, für welche Plattformen es entwickelt wird oder ob, etwa durch Verwendung von Java, Plattformunabhängigkeit erreicht wird. Abbildung 1 zeigt einen Screenshot eines Studenten, der eine Vorlesung verfolgt, die von zwei Vortragenden gehalten wird. Einer der Vortragenden befindet sich in einer archäologischen Forschungsstelle, der andere in einem Hörsaal. Seite 11 von 61

12 Wenn der Student nun beispielsweise eine Frage zur dem Szenario angehörenden Amphore hat, kann er auf sie klicken oder sie mit Hilfe von Drag and Drop von der rechts angezeigten Webseite in die Mitte verschieben. Abbildung 1: Screenshot eines Studenten bei Virtual Blackboard Kritik und Vergleich zu E-Kreide Im Gegensatz zu E-Kreide ist das Virtual Blackboard ein Werkzeug, das ausschließlich für Teleteaching konzipiert ist. Für die Übertragung des Tafelbildes steht ein Livevideo zur Verfügung, so dass es einer hohen Bandbreite für die Videoübertragung bedarf, um das Tafelbild erkennen zu können. Eine Verwendung für Studenten zu Hause am eigenen Rechner über eine langsame Internet- Verbindung (Modem oder ISDN) scheidet damit aus. Während E-Kreide aufgrund seiner Allgemeinheit ein universelles Werkzeug für alle Vorlesungen ist, findet das Virtual Blackboard lediglich in sehr spezialisierten Fällen Anwendung, hat dort aber Vorteile gegenüber E-Kreide. So ist das Manipulieren, Verschieben und Rotieren von Objekten bei E-Kreide nicht vorgesehen, was in der allgemeinen Vorlesungssituation aber auch nicht unbedingt erforderlich ist. Um diese Funktionalität des Virtual Blackboard auszunutzen, erfordert das Vorbereiten auf Vorlesungen aber beim Virtual Blackboard auch einen großen Zeitaufwand. So muss im obigen Beispiel die Amphore vor der Vorlesung erst sorgfältig modelliert werden, während bei E- Kreide der Dozent sich spontan dazu entschließen kann, eine Amphore an die Tafel zu malen. Eine Vorlesung, die von mehreren Dozenten an verschiedenen Orten gehalten wird, ist bei E-Kreide nicht möglich. Allerdings wird dies in den meisten Fällen auch nicht benötigt. Seite 12 von 61

13 Alles in allem lässt sich sagen, dass E-Kreide und das Virtual Blackboard zu unterschiedliche Zielgruppen haben, um direkt Vor- und Nachteile gegeneinander abzuwägen. Während das Virtual Blackboard für ganz spezielle Vorlesungssituationen konzipiert ist und in diesen auch besser geeignet ist als E-Kreide, stellt E-Kreide in der allgemeinen Vorlesungssituation ein besseres Werkzeug dar DIANA (HU Berlin/TU München) Kurzbeschreibung DIANA [7] ist ein gemeinsames Projekt der Humboldt-Universität zu Berlin und der Technischen Universität München. Ziel von DIANA ist es, breitbandige Kommunikationsnetze zu nutzen, um räumliche Trennung in der Lehre durch multimediales Teleteaching und Distance-Learning zu überwinden. Dabei geht es vor allem um garantierte Bandbreitenbereitstellung, Ausfallsicherheit und Übertragungssicherheit. Distance-Learning soll dabei nicht nur in ausgewählten Veranstaltungen verwendet werden, sondern regulärer Bestandteil des Lehrangebotes sein. Motiviert wurde dies an der HU Berlin durch die räumliche Trennung des Instituts für Informatik in Berlin-Adlershof und den übrigen Universitätseinrichtungen in Berlin-Mitte. Vorlesungen sollen dann von Adlershof nach Mitte, aber auch in die TU München übertragen werden. Dazu wird zunächst ein Gigabit-Kommunikationsnetz aufgebaut. Dieses soll u.a. auch Videoübertragung in Fernsehqualität ermöglichen. Abbildung 2 zeigt die technische Ausstattung des Hörsaals in Berlin-Adlershof, die für Distance- Learning mit DIANA erforderlich ist. Abbildung 2: Hörsaalausstattung Berlin-Adlershof Es werden bei DIANA keine neuen Distance-Learning-Applikationen entwickelt, sondern existierende kommerzielle Applikationen an die neue Umgebung Seite 13 von 61

14 angepasst und später so weiterentwickelt, dass sie das breitbandige Kommunikationsnetz auch ausnutzen. Im wesentlichen sollen Bild und Ton, aber auch rechnergestützte Animationen (z.b. Petrinetzsimulationen) zum Einsatz kommen. Die Bildübertragung schließt auch eine Tafelkamera mit ein, um das Tafelbild separat übertragen zu können. Bei am Rechner gehaltenen Vorlesungen ist auch an eine Übertragung des Computerbildes und an eine Übertragung einer Präsentation komplett im voraus gedacht, wobei während der Vorlesung dann nur noch Kontrollkommandos übertragen werden. Nicht geplant ist ein asynchroner Lehrbetrieb, also das Betrachten von Vorlesungen zeitversetzt oder offline. Ebenso ist Home-Learning, also das Betrachten von Vorlesungen am eigenen Rechner über das Internet nicht vorgesehen. Die Möglichkeit der Benutzung von schmalbandigen Übertragungsformen wie etwa ISDN und Übertragungen ohne Qualitätsgarantien, z.b. über das Internet, wird ebenfalls nicht berücksichtigt Kritik und Vergleich zu E-Kreide Da im Projekt DIANA keine eigene Distance-Learning-Software entwickelt wird, es sich bei E-Kreide aber zumindest in einem Teilaspekt um eine solche handelt, lassen sie sich sehr schwer miteinander vergleichen. DIANA und E-Kreide verfolgen beide unterschiedliche Ansätze. Während bei DIANA aufwendige Technik vorgesehen ist, wie aus der Hörsaalausstattung in Berlin-Adlershof ersichtlich ist, um breitbandige Übertragungskanäle zu nutzen, kommt E-Kreide mit einer sehr geringen Bandbreite aus. Bei DIANA geht es ausschließlich darum, Vorlesungen synchron, also live, in einen anderen Hörsaal zu übertragen, dagegen ist E-Kreide auch für zeitversetzte und Offline-Übertragung von Vorlesungen über das Internet auf studenteneigene Rechner zu Hause verwendbar. Kritisch am Projekt DIANA anzumerken ist, dass eine breitbandige Übertragung nicht unbedingt den großen Qualitätsvorteil bringt, der den betriebenen Aufwand rechtfertigen würde. Der Ansatz, erst ein sehr leistungsfähiges Netz zu bauen, um anschließend vorhandene Software so zu erweitern, dass sie die neu gewonnene Leistungsfähigkeit des Netzes auch ausnutzen, erscheint fragwürdig. Aufgrund der speziellen Netzwerktopologie sind die bei DIANA gewonnenen Erfahrungen auch schwer auf andere Universitäten übertragbar ACIT (Uni Dortmund) Kurzbeschreibung ACIT [6] steht für Animation von Computergrafik im Internet und wurde am Lehrstuhl für Graphische Systeme der Universität Dortmund entwickelt. Seite 14 von 61

15 Es ermöglicht Studenten gemeinsam in einer über das World Wide Web verbreiteten Online-Lehrveranstaltung Applets zu benutzen. Die Applets sind mehrbenutzerfähig und können synchron und zentralgesteuert im Netz verteilt werden. Dabei bedienen Benutzer das Applet interaktiv. Dessen Aktionen werden über das Netz an einen Server geschickt und von diesem synchronisiert. Das Applet dient hierbei als Werkzeug, mit dem ein Lehrender mehreren Lernenden bestimmte Sachverhalte vermitteln kann. Dabei hat jeder ein Exemplar des Applets auf seinem Bildschirm. Einsatzgebiet von ACIT ist die Computergrafik, allerdings lässt die Konzeption auch einen Einsatz in anderen Gebieten zu. Abbildung 3 zeigt ein Beispiel für ein ACIT-Applet, das einen Algorithmus zur adaptiven Flächenapproximation darstellt. Im oberen Teil sind der Parameterbereich der Fläche und das Ergebnis zu sehen, im unteren Teil kann sich der Benutzer schrittweise durch den Algorithmus arbeiten. Abbildung 3: Beispiel für ein ACIT-Applet ACIT-Applets sind zunächst normale Applets, die auf Benutzereingaben reagieren, haben aber zusätzlich die Eigenschaft, dass jede Aktion des Benutzers an einen Server gesendet wird, der diese auswertet und ggf. an andere Applets Informationen sendet. Auf diese Art und Weise kann beispielsweise der Lehrende in seinem Applet Aktionen beim Lernenden ausführen. ACIT-Applets bieten sich aber auch für die Offline-Nutzung an. Dort entfällt dann einfach das Senden von Aktionen an den Server. Um die Entwicklung von ACIT-Applets zu erleichtern, wurden die Kommunikationsmechanismen zwischen Server und Client in einer tieferen Softwareschicht programmiert. Anwendungsprogrammierern steht eine komfortable Schnittstelle mit wiederverwendbaren Ein- und Ausgabekomponenten zur Verfügung. Seite 15 von 61

16 Kritik und Vergleich zu E-Kreide Da ACIT in Java geschrieben ist, bietet es wie E-Kreide den Vorteil der Plattformunabhängigkeit. In beiden Fällen braucht der Benutzer keine zusätzliche Software zu installieren, sondern kommt mit einem javafähigen WWW-Browser aus. Bei ACIT ist es möglich, dass der Benutzer mit seinen Eingaben Einfluss auf das Verhalten des Applets nehmen kann. In E-Kreide ist dies prinzipiell zwar denkbar, dass man in die Tafel integrierte Applets als Benutzer verändern kann. Allerdings kann es zu Problemen führen, wenn sowohl der Vortragende als auch der Lernende Aktionen am Applet ausführen, weshalb bei E-Kreide entschieden wurde, Aktionen des Benutzers nicht zuzulassen. Dafür können bei E-Kreide auch beliebige Applets verwendet werden und nicht nur spezielle auf die Kommunikation zwischen Lehrendem und Lernendem vorbereitete Applets. Genau darin liegt der größte Nachteil von ACIT. Die Verwendung ist entweder auf Computergrafik beschränkt, oder man muss Applets für die Lehre als Vortragender selber programmieren, was als Vorbereitung auf eine Vorlesung zu aufwendig ist. Sofern jedoch ein ACIT-Applet zu dem Thema vorhanden ist, über das man vortragen möchte, ist die Verwendung von ACIT für sinnvoll Resümee Bei den vier Projekten, die - zumindest auf den ersten Blick - eine gewisse Ähnlichkeit zu E-Kreide haben, hat sich herausgestellt, dass keines von ihnen vollständig das leisten kann, was mit E-Kreide möglich sein wird. Das Whiteboard ist nicht plattformunabhängig und erfordert eine zu hohe Bandbreite. Das Virtual Blackboard ist nur für spezielle Anwendungen gedacht, DIANA ist nur für Netze mit hoher Bandbreite konzipiert und ermöglicht kein Offline- Learning und ACIT ist auf Computergrafik beschränkt oder erfordert einen zu großen Aufwand zur Vorbereitung auf eine Vorlesung. Insgesamt ist die Allgemeinheit von E-Kreide der größte Vorteil. Zwar hat die zugegebenermaßen kleine Auswahl an Vergleichsprojekten keinen Anspruch auf Vollständigkeit, bietet aber zumindest einen Einblick in die Welt der existierenden Projekte und somit genug Motivation für das Schreiben eines Programms wie E-Kreide. Seite 16 von 61

17 3. Architektur Die Architektur des Systems ist denkbar einfach. Auf dem Vorlesungsrechner wird das Tafelprogramm von E-Kreide gestartet, das automatisch einen Server auf dem Vorlesungsrechner auf Port 4712, dem Default-Port für E-Kreide startet. Später wird es noch ermöglicht werden, den benutzten Port einzustellen und, wenn es sich als notwendig erweist, einen anderen Rechner anzugeben, auf dem der Server läuft. Gleichzeitig dazu wird auf dem Vorlesungsrechner ein WWR- Server gestartet, über den der Ton aus dem Vorlesungssaal, der über ein angeschlossenes Mikrofon erfasst wird, gesendet wird. Dies ist zur Zeit allerdings bisher nur unter Unix-Systemen möglich, die das OSS (Open Sound System) bzw. Alsa Sound System haben, also beispielsweise Linux, Solaris und FreeBSD. Sofern die Vorlesung lediglich zur Offline-Betrachtung aufgezeichnet wird, genügt es, ein Programm zu starten, das den Ton in einer Audio-Datei abspeichert. In beiden Fällen ist es erforderlich, dass Tafel und Ton gleichzeitig gestartet werden, damit beim Betrachter auch der Ton passend zum Tafelbild zu hören ist. Dazu bietet es sich an, ein Skript zu schreiben, das beide Programme startet. Auf einer vorher angekündigten WWW-Seite kann sich dann ein Zuhörer die Vorlesung live oder zeitversetzt anhören. Dazu befinden sich auf der Seite ein E- Kreide-Applet und ein WWR-Applet. Das E-Kreide-Applet nimmt Kontakt zum E-Kreide-Server auf, worauf dieser eine Socket-Verbindung zum Client öffnet und über diese die Tafelereignisse sendet. Das WWR-Applet kontaktiert den WWR-Server und empfängt so den Ton der Vorlesung. Auch hier wird für jeden Client eine Socket-Verbindung eröffnet. Bei sehr vielen Clients ist es bei WWR allerdings auch möglich, einen sog. Broadcaster zu kontaktieren, der seinerseits den Server oder einen anderen Broadcaster kontaktiert. So kann man die Leitungsund Verwaltungslast verteilen. Abbildung 4 stellt die Architektur des Systems für Live- und zeitversetzte Betrachtung dar. Rote Linien drücken dabei Verbindungen aus, die während der Vorlesung bestehen, grüne Linien drücken aus, von woher das jeweilige Applet geladen wurde. Im Fall der Offline-Betrachtung sieht es ähnlich aus. Unterschied ist, dass die Applets sich nicht mehr mit einem Server verbinden, sondern die benötigten Daten über HTTP aus einer Datei lesen. Beim Beenden des Tafelprogramms werden die Tafelereignisse in einem vorher spezifizierten Verzeichnis abgespeichert. Wenn dieses Verzeichnis über eine WWW-Adresse angesprochen werden kann, kann das E-Kreide-Applet die Ereignisse dann aus ihm lesen. Seite 17 von 61

18 Abbildung 4: Architektur des Systems für Live- und zeitversetzte Betrachtung Das WWR-Applet liest den Ton über einen HTTP-Stream aus einer WWR-Datei, die aus einer Audio-Datei durch ein zu WWR gehörendes Programm umgewandelt werden kann. Außerdem ist es dabei möglich, über eine Steuerkonsole Tafel und Ton anzuhalten, vor- und zurückzuspulen. Seite 18 von 61

19 4. Benutzerschnittstelle Um über den deutschsprachigen Raum hinaus Verwendung finden zu können, ist die Benutzerführung innerhalb des Programms in Englisch gehalten. Um jedoch die folgenden Erläuterungen lesbarer zu machen, werden hierbei die deutschen Begriffe verwendet und die englischen in Klammern ergänzt Benutzerschnittstelle für Vortragende Der Vortragende startet auf dem Vorlesungsrechner die Java-Applikation echalk.board.board, wobei drei Argumente anzugeben sind. Das erste ist eine Konfigurationsdatei, in der benutzerspezifische Einstellungen vorgenommen werden, die in der Regel von Vorlesung zu Vorlesung nicht variieren. In Kapitel wird die Konfigurationsdatei genauer erläutert. Das zweite Argument ist ein nicht-existierendes anzulegendes Verzeichnis, in das die Tafelereignisse gespeichert werden. Als drittes ist der Titel der Vorlesung anzugeben, der beim Vortrag und bei den Clients in der Titelleiste erscheint. Da eine Maus die Mindestanforderung für das Eingabegerät darstellt, wird im folgenden auch beschrieben, wie das Tafelprogramm mit der Maus zu bedienen ist. Sollten andere Eingabegeräte wie etwa Grafiktabletts oder kontaktsensitive Bildschirme verwendet werden, was zu empfehlen ist, da Handschrift mit der Maus nur sehr schwer leserlich zu erzeugen ist, muss man der jeweiligen Bedienungsanleitung entnehmen, wie man mit ihnen die jeweiligen Mausereignisse (Klicken, Ziehen, Bewegen etc.) erzeugt. Nach Programmstart ist zunächst eine leere Tafel zu sehen, die in Hintergrundfarbe eingefärbt ist. Ein Menü, über das der Benutzer Aktionen ausführen und Einstellungen vornehmen kann, ist über die Menüleiste sowie über ein Popupmenü, das bei Drücken der rechten Maustaste erscheint, zu erreichen. Da es sich bei den folgenden Abbildungen um Screenshots handelt, besteht die Möglichkeit, dass sie ausgedruckt auf Papier schlecht zu erkennen sind. Deshalb ist es besser, sie sich auf dem Bildschirm anzusehen. Abbildung 5 zeigt eine leere Tafel sowie das Menü Bearbeiten (Edit). Seite 19 von 61

20 Abbildung 5: Eine leere Tafel mit Menü Im Menü Werkzeuge (Tools) ist zunächst Kreide (Chalk) ausgewählt. In Abbildung 6 ist das Menü Werkzeuge (Tools) als Kontextmenü zu sehen. Abbildung 6: Eine leere Tafel mit Kontextmenü Der Vortragende kann nun Freihandzeichnungen auf die Tafel malen, indem er die Maus bei gedrückter linker Taste bewegt. Dabei werden zunächst die Farbe und die Linienstärke verwendet, die in der Konfigurationsdatei angegeben ist. Farbe und Linienstärke können jederzeit über die Menüpunkte Linienstärke (Paint Size) bzw. Farbe (Color) im Menü Bearbeiten (Edit) geändert werden. Seite 20 von 61

21 Sollte als Werkzeug der Schwamm (Sponge) eingestellt sein, kann man durch Bewegung der Maus bei gedrückter linker Taste bereits Gemaltes wegwischen, wobei die, ebenfalls im Menü Bearbeiten (Edit) einstellbare Schwammdicke (Sponge Size), für das Wischen verwendet wird. Benutzen des Schwamms verhält sich aus Programmsicht so, als wäre die Hintergrundfarbe als Farbe (Color) eingestellt und die Schwammdicke (Sponge Size) als Linienstärke (Paint Size). Allerdings ist es für den Benutzer natürlicher einen Schwamm zur Verfügung zu haben als Linien in Hintergrundfarbe zu malen. Da im allgemeinen auch die Dicke des Schwammes größer ist als die Dicke der Kreide, ist das Programm so auch leichter zu bedienen, da nur zwischen Kreide (Chalk) und Schwamm (Sponge) gewechselt werden muss, anstatt Linienstärke (Paint Size) und Farbe (Color) zu ändern. Abbildung 7 zeigt ein typisches Tafelbild, das mit Kreide (und Schwamm) erzeugt werden kann. Abbildung 7: Typisches Tafelbild Zusätzlich zu Handschriftzeichnungen kann der Benutzer auch mit der Tastatur Text eingeben, indem er im Menü Bearbeiten (Edit) den Menüpunkt Text einfügen (Insert Text) auswählt. Zunächst erscheint ein kleines rechtwinkliges Symbol, das den Mausbewegungen des Benutzers folgt und somit ein Platzieren des Textes ermöglicht. Klickt er auf die linke Maustaste auf eine bestimmte Stelle auf der Tafel, hat er damit die linke untere Ecke der Stelle bestimmt, an der der Text auf die Tafel geschrieben wird. Abbildung 8 zeigt das Platzieren eines Textes. Durch Eingabe über die Tastatur können nun Zeichen auf den Bildschirm geschrieben werden. Diese erscheinen in der eingestellten Farbe (Color) und in der ebenfalls im Menü Bearbeiten (Edit) einstellbaren Textgröße (Text Size). Seite 21 von 61

22 Abbildung 8: Platzieren eines Textes Mit den Pfeiltasten kann man im bisher geschriebenen Text navigieren, mit der BACKSPACE-Taste Zeichen löschen und mit RETURN die Eingabe abschließen. Sollte der rechte Rand erreicht sein, wird automatisch umgebrochen. Wortgrenzen werden dabei jedoch noch nicht beachtet. Die aktuelle Position im Text wird durch einen Cursor, eine senkrechte Linie, deren Länge der Textgröße (Text Size) entspricht, dargestellt. Abbildung 9 zeigt die Eingabe eines Textes. Abbildung 9: Eingabe von Text Seite 22 von 61

23 Texteingaben haben den Vorteil gegenüber freihändig geschriebenem Text, dass sie problemlos lesbar sind, was insbesondere bei fehlender Unterstützung durch ein Grafiktablett von Vorteil ist. Es ist auch möglich, eine abgeschlossene Texteingabe einem anderen Programm zur Auswertung zu übergeben. Voraussetzung hierfür ist, dass das Programm über eine textuelle Schnittstelle verfügt. Hierfür erwies sich Mathematica als besonders geeignet, so dass die Mathematica-Anbindung auch in E-Kreide implementiert wurde. Wenn der Benutzer nun eine Anfrage an Mathematica stellen will, so wählt er aus dem Menü Bearbeiten (Edit) den Menüpunkt Mathematica-Anfrage einfügen (Insert Mathematica Request). Zunächst verhält sich das Programm wie bei der Texteingabe, aber sobald die Eingabe abgeschlossen ist, wird der Text an Mathematica geschickt, das ihn auswertet und ein textuelles Ergebnis zurückliefert. Sofern es sich um eine Anfrage für eine grafische Ausgabe handelt, erhält der Benutzer die Möglichkeit, diese auf dem Bildschirm zu platzieren. Dabei sind die Begrenzungen der Grafik zu sehen, die, ähnlich wie bei der Platzierung eines Textes, den Mausbewegungen des Benutzers folgen. Abbildung 10 zeigt das Platzieren der Grafik. Abbildung 10: Platzieren von Grafiken Bisher hat die Grafik immer eine Höhe, die der halben Fensterhöhe entspricht sowie die halbe Fensterbreite als Breite. Damit nimmt eine Grafik ein Viertel des Fensters ein. Später wird es für den Vortragenden auch möglich sein, die Breite Seite 23 von 61

24 und Höhe der grafischen Ausgabe selbst zu bestimmen. In Abbildung 11 ist zu sehen, wie die Tafel nach Einfügen der Grafik aussieht. Abbildung 11: Tafel nach Einfügen von Grafik Zunächst wurde die Kreiszahl Pi mit einer Genauigkeit von 30 Stellen angefragt, woraufhin das gewünschte Ergebnis auf dem Bildschirm erschien. Anschließend sollte der Bruch 480/3600 so weit wie möglich gekürzt werden. Die in der Ausgabe enthaltenen Rechtecke entstanden, weil Zeilenumbrüche in der Antwort zum Zeitpunkt der Erstellung der Grafik noch nicht richtig behandelt wurden. Der Fehler ist aber inzwischen behoben. Als drittes wurde ein Plot der Funktion 1/x in den Grenzen von 1 bis 1 angefragt, woraufhin der Benutzer zunächst aufgefordert wurde, das Ergebnis zu platzieren, wonach es an der gewünschten Stelle sichtbar wurde. Damit es möglich ist, Mathematica-Anfragen zu stellen, muss Mathematica 4.0. sowie J/Link, eine textuelle Mathematica-Schnittstelle für Java, auf dem Vorlesungsrechner installiert sein. Ist das nicht der Fall, ist der Menüpunkt Mathematica-Anfrage einfügen (Insert Mathematica Request) deaktiviert. Bei Texteingaben möchte man oft mehrere Eingaben hintereinander durchführen, insbesondere, wenn die Anfragen für Mathematica bestimmt sind. Deshalb kann man, wenn man die Eingabe mit SHIFT-RETURN abschließt, automatisch die nächste Texteingabe einfügen, die genau dann wieder eine Mathematica-Anfrage ist, wenn es die vorherige auch war. Außerdem ist es möglich, Bilder und Grafiken in die Tafel einzufügen. Dazu wählt der Benutzer den Menüpunkt Bild von URL einfügen (Insert image from URL) im Menü Bearbeiten (Edit). In einem Dialogfenster wird er dann dazu Seite 24 von 61

25 aufgefordert, die URL, unter der das Bild zu finden ist, einzugeben. Abbildung 12 zeigt das Eingeben einer URL. Abbildung 12: Eingeben einer URL über ein Dialogfenster Da dabei auch das File-Protokoll angegeben werden kann, kann dies auch ein Bild sein, das sich lokal auf dem Vorlesungsrechner befindet. Das Bild wird dann geladen und, sobald seine Breite und seine Höhe vorliegen, dem Benutzer ein Rahmen gezeigt, mit dem er das Bild auf die gleiche Weise platzieren kann, wie das bei den Mathematica-Grafiken der Fall ist. Dass man mittels Einfügen von Bildern auch Vorträge, die man als Folienvorträge vorbereitet hat, mit Hilfe von E-Kreide halten kann, verdeutlicht Abbildung 13. Es ist dabei natürlich auch möglich, die Folie während des Vortrages zu bemalen, wie hier in rot angedeutet. Anders als bei einem herkömmlichen Vortrag, bei dem üblicherweise die Folien ins World Wide Web gestellt werden, können hier auch die Offline-Betrachter des Vortrags diese Ergänzungen sehen. Um sich das umständliche Eintippen einer URL zu ersparen, kann man sich vorher eine Liste von Bookmarks zusammenstellen, die unter dem Menüpunkt Bilder-Bookmarks (Image Bookmarks) im Menü Bearbeiten (Edit) zur Verfügung stehen. Seite 25 von 61

26 Abbildung 13: Einfügen von vorbereiteten Folien in die Tafel Das Einfügen von Applets in das Tafelbild ist auch möglich. Dazu wählt der Benutzer den Menüpunkt Applet von URL einfügen (Insert applet from URL) im Menü Bearbeiten (Edit). In einem Dialogfenster wird er dann dazu aufgefordert, die URL, unter der das Applet zu finden ist, einzugeben. Dabei wird das erste Applet, das sich auf der angegebenen HTML-Seite befindet, gewählt. Wie beim Einfügen eines Bildes erhält der Benutzer die Möglichkeit, das Applet zu platzieren. Danach wird es innerhalb der Tafel ausgeführt. Auf Abbildung 14 ist zu sehen, wie ein Applet zur Berechnung der konvexen Hülle ausgeführt wird. Abbildung 14: Ausführung eines Applets innerhalb der Tafel Seite 26 von 61

27 Zu sehen sind in dieser Abbildung auch noch die zuvor eingefügten Bilder. Wie man sieht, ist es auch möglich, die Bilder hinterher zu übermalen oder mit dem Schwamm Teile wegzuwischen. Das ist bei Applets allerdings nicht möglich. Wie bei den Bildern kann man sich auch hier vorher eine Liste von Bookmarks zusammenstellen, die unter dem Menüpunkt Applet-Bookmarks (Applet Bookmarks) im Menü Bearbeiten (Edit) zur Verfügung stehen. Sofern die Vorlesung nicht nur als Vorführung im Hörsaal gedacht ist, sondern auch live, zeitverzögert oder offline über das World Wide Web verfolgt werden soll, gibt es für die Verwendung von Applets allerdings Einschränkungen, die in Kapitel näher erläutert werden. Mit Hilfe einer Scrollbar an der rechten Seite der Tafel kann man den sichtbaren Bereich der Tafel hoch- und runterschieben. Zwar ist die (virtuelle) Gesamthöhe der Tafel zunächst beschränkt, allerdings wird sie automatisch um eine Tafelhöhe vergrößert, sobald man in der Tafel ganz nach unten scrollt. Damit hat man nach unten in der Tafel unendliche Länge, während nach rechts die Breite auf einen Bildschirm beschränkt ist. Daher empfiehlt es sich, eine Vorlesung oben an der Tafel anzufangen und im Laufe der Zeit immer weiter nach unten zu wandern. Da die Benutzung der Scrollbars mühselig und schwierig sein kann, gibt es am unteren und oberen Rand der Tafel noch zwei sogenannte Scrollpunkte. Dabei handelt es sich um weiße Halbkreise. Wenn man mit der linken Maustaste auf den unteren Halbkreis klickt, kann man bei gedrückter Maustaste den sichtbaren Bereich der Tafel nach unten schieben, indem man mit der Maus nach oben scrollt. Dies entspricht dem Nach-oben-schieben einer Tafel mit der Hand. Entsprechend kann man auch beim oberen Scrollpunkt den sichtbaren Bereich nach oben schieben. Damit die Scrollpunkte auch bei weißer Hintergrundfarbe sichtbar sind, haben sie einen kleinen schwarzen Rand. Allerdings sind die Scrollpunkte nicht mehr sichtbar, wenn sie übermalt werden oder mit dem Schwamm über sie gewischt wird. Dies soll aber noch verbessert werden. Im Menü Bearbeiten (Edit) gibt es noch den Menüpunkt Alles löschen (Remove All). Damit kann man den kompletten Tafelinhalt löschen. Da man allerdings einzelne Tafelinhalte mit dem Schwamm löschen kann und aufgrund der unendlichen Länge der Tafel nicht gezwungen ist, Platz auf der Tafel zu schaffen, ist diese Funktion im allgemeinen entbehrlich. Über das Menü Datei (File) lässt sich das Programm mittels Beenden (Exit) beenden. Die aufgetretenen Tafelereignisse werden dabei automatisch im vorher spezifizierten Verzeichnis abgelegt. Um zu verhindern, dass bei einem Rechnerausfall oder einem Programmabsturz die Vorlesungsdaten unwiederbringlich verloren gehen, werden sie im Abstand von 60 Sekunden automatisch abgespeichert. Seite 27 von 61

28 Im Menü Hilfe (Help) wird später eine Online-Dokumentation sowie eine Hilfe zur Verfügung stehen. Bei allen bisher gezeigten Screenshots wurde als Eingabemedium eine Maus verwendet. Um einen Vergleich zur Verwendung eines Grafiktabletts aufzuzeigen, wurde das typische Tafelbild auch noch einmal mit einem Grafiktablett erstellt. Zum Vergleich zeigt Abbildung 15 zunächst noch einmal das Tafelbild mit der Maus. Abbildung 15: Typisches Tafelbild, mit der Maus erzeugt Abbildung 16 zeigt, wie das gleiche Tafelbild mit einem 15x12cm großen Grafiktablett mit dem Stift erzeugt aussieht. Die Verwendung eines Grafiktabletts ist nur empfehlenswert, wenn es über eine ausreichende Größe verfügt. Sonst sind kleine Symbole, wie etwa die Integralgrenzen und Potenzen in obiger Formel so gut wie nicht lesbar zu erzeugen. Bei der Erstellung des Screenshots mit dem Grafiktablett war es oft erforderlich, total verunglückte Symbole mit dem Schwamm wegzuwischen. Auch die Erstellung der Grafik auf der linken Tafelseite erwies sich mit dem Grafiktablett schwieriger als mit der Maus. Geschriebener Text in Schreibschrift konnte mit dem Grafiktablett in schnellerer Zeit erzeugt werden und war zudem auch noch lesbarer. Problematisch ist es beim Grafiktablett, den Stift abzusetzen, da es schwer ist, die richtige Stelle zum Weiterschreiben zu finden. So lässt sich auch die große Lücke zwischen den Worten Theoretische und Informatik erklären. Das Bedienen der Menüs erwies sich mit dem Stift ausgesprochen schwierig. Seite 28 von 61

29 Abbildung 16: Typisches Tafelbild, mit Grafiktablett und Stift erzeugt Alles in allem erscheint die Verwendung eines Grafiktabletts sinnvoll, vor allem, wenn viel Text an die Tafel geschrieben werden soll. Jedoch sollte eine Maus für Aufgaben verwendet werden, die sich mit ihr schneller und besser lösen lassen, also für das Erstellen von Skizzen oder Formeln mit vielen kleinen Symbolen. Da die meisten Grafiktabletts über Stift und Maus verfügen, ist das schnelle Wechseln unproblematisch Einstellungen über Konfigurationsdatei Beim Start der Tafel muss man an erster Stelle eine Konfigurationsdatei angeben. Diese ist nicht an einen Benutzer gebunden, da es möglich und sinnvoll ist, dass sich ein Benutzer mehrere Konfigurationsdateien anlegt, beispielsweise, wenn er mehrere Vorlesungen hält. Auf der anderen Seite können aber auch mehrere Benutzer sich eine Datei teilen, wenn sie keine persönlichen Einstellungen vornehmen wollen. Eine typische Konfigurationsdatei für E-Kreide sieht etwa wie folgt aus: # property file for echalk echalk.width=1024 echalk.height=712 echalk.virtual.height=2000 echalk.background.color=black echalk.initial.color=green echalk.initial.paintsize=4 echalk.initial.spongesize=25 echalk.initial.textsize=30 Seite 29 von 61

30 echalk.image.bookmarks=c:\\uni\\diplomarbeit\\images.txt echalk.applet.bookmarks=c:\\uni\\diplomarbeit\\applets.txt echalk.mathematica.path=c:\\mathematica\\4.0\\mathkernel.exe Zeilen, die mit einem Doppelkreuz beginnen, dienen als Kommentar. In den übrigen Zeilen steht der Name einer Eigenschaft, gefolgt von einem Gleichheitszeichen und dem gewünschten Wert. Dies entspricht dem Standard für Java- Properties. Die Eigenschaft echalk.width und echalk.height stehen für die Größe des Fensters in Pixeln. Dabei empfiehlt es sich, die komplette Größe des Bildschirms auszunutzen, da sonst andere Teile des Bildschirms, die vom Tafelfenster nicht verdeckt werden, von der Vorlesung ablenken könnten. Mit echalk.virtual.height lässt sich die virtuelle Höhe der Tafel einstellen. Das ist die (initiale) Höhe, die für die Tafel insgesamt zur Verfügung steht. Da sich die virtuelle Höhe automatisch anpasst, wenn der vorhandene Platz nicht mehr ausreicht, genügt es, am Anfang etwa das Dreifache der Fensterhöhe zu wählen, um die Bedienung der Scrollbars zu erleichtern. Die Hintergrundfarbe, die während der Vorlesung nicht mehr verändert werden kann, legt man mit echalk.background.color fest. Dabei sind die Werte white, lightgray, gray, darkgray, black, red, pink, orange, yellow, green, magenta, cyan und blue zulässig, also alle Farben, die es in der Klasse java.awt.color als Konstanten gibt. Es ist geplant, weitere, auch benutzerdefinierte Farben zuzulassen. Als Hintergrundfarbe bieten sich allerdings nur schwarz (black) und weiß (white) an. Schwarz hat den Vorteil, dass es zu leuchtenden Farben wie rot (red), grün (green) oder rosa (pink) einen guten Kontrast bietet, vor allem, wenn ein Plasmabildschirm verwendet wird. Reale Tafeln sind meistens schwarz, weshalb schwarz auch die Illusion einer ganz normalen Vorlesung vermittelt. Auf weißem Hintergrund hingegen sind die Farben nicht so leuchtstark. Aber weiß bietet ebenfalls einen guten Kontrast zu rot oder grün, aber auch zu schwarz und bietet sich vor allem an, wenn ein Beamer verwendet wird. Über echalk.initial.color kann man die Farbe bestimmen, die initial im Menü eingestellt ist. Auch hier sind bisher nur die Werte white, lightgray, gray, darkgray, black, red, pink, orange, yellow, green, magenta, cyan und blue zulässig, in Zukunft aber auch benutzerdefinierte Werte. Mit echalk.initial.paintsize und echalk.initial.spongesize kann man den anfänglichen Wert für die Dicke der Kreide bzw. des Schwamms einstellen. Dabei sind bisher nur die Werte möglich, die auch im Menü aufgeführt sind. Dies sind 1, 2, 3, 4, 5, 7, 10, 25, 50 und 100. In Zukunft wird es auch noch möglich sein, benutzerdefinierte Werte festzulegen. Üblicherweise wählt man die Dicke des Schwamms größer als die Dicke der Kreide, da man eher große Bereiche auf der Tafel wegwischen will, etwa, wenn man sich verschrieben hat. Seite 30 von 61

31 Für die Größe des Textes, deren Initialwert man mittels echalk.initial.textsize festlegt, sind die Werte 10, 15, 20, 30, 40, 60 und 100 zulässig. Auch hier werden in Zukunft benutzerdefinierte Werte zugelassen. Über echalk.image.bookmarks bzw. echalk.applet.bookmarks kann man jeweils eine Datei angeben, in der man sich eine Liste von Bookmarks für Bilder bzw. für Applets zusammengestellt hat. Unter Windows ist zu beachten, dass der Backslash durch zwei Backslashs dargestellt wird. Jede Zeile der Datei enthält dabei genau ein Bookmark. Eine typische Datei für Bilder-Bookmarks könnte etwa wie folgt aussehen: Dabei handelt es sich um Bilder der am Projekt beteiligten Personen. Bei Applets ist jeweils die HTML-Seite anzugeben, auf der sich das Applet befindet. Eine typische Datei für Applet-Bookmarks könnte etwa wie folgt aussehen: alkuel/chess/javaapplet/chess.html lle.html Das erste ist ein Schachapplet, in dem das erste Schachprogramm der Welt, das Konrad Zuse zwischen 1942 und 1945 in der von ihm entwickelten Programmiersprache Plankalkül geschrieben hat, nachgebildet wurde. Es spielt nicht selber, sondern überwacht nur die Gültigkeit der Züge beider Spieler. Das zweite ist eine grafische Veranschaulichung des Satzes von Pythagoras, der besagt, dass die Summe der Flächeninhalte der Quadrate über den Katheten eines rechtwinkligen Dreiecks gleich dem Flächeninhalt des Quadrates über der Hypotenuse ist. Man kann dabei die Punkte des Dreieckes mit der Maus bewegen, um andere rechtwinklige Dreiecke als das anfängliche zu erzeugen. Das dritte ist ein Applet, das die konvexe Hülle von Punkten in der Ebene, die man mit der Maus festlegen kann, berechnet und grafisch darstellt. Zur Berechnung wird ein effizienter randomisierter Algorithmus verwendet. Mit echalk.mathematica.path kann man die Stelle angeben, an der sich der Kernel der Mathematica-Installation befindet. Sollte Mathematica nicht auf dem Rechner installiert sein oder man es nicht verwenden wollen, setzt man diese Variable nicht. Eine Überprüfung der Korrektheit der in der Konfigurationsdatei gesetzten Variablen findet bisher nicht statt. Deshalb können fehlerhafte Werte den Seite 31 von 61

32 normalen Ablauf des Programms stören. Es ist allerdings in Zukunft daran gedacht, die gesetzten Werte auf Korrektheit zu überprüfen und falsch gesetzte oder fehlende Variablen durch Standardwerte zu ersetzen Beschränkungen für die Verwendung von Applets Für die Applets, die in die Tafel integriert werden, gibt es leider Beschränkungen, wenn sie auch auf Clientseite dargestellt werden sollen. Da die beim Applet auftretenden Ereignisse aufgezeichnet und beim Client wieder abgespielt werden, müssen sie dazu auch geeignet sein. So darf etwa das Verhalten des Applets nicht randomisiert sein. Wenn z.b. ein Schachapplet nicht nur Züge überwachen, sondern selber spielen würde, diese Züge dann auch noch teilweise zufällig ausgewählt werden, kann es passieren, dass beim Client ein anderer Zug ausgeführt wird als beim Server, also auf der Tafel im Vorlesungsrechner. Das kann dazu führen, dass der folgende Zug des Dozenten, der das Spielen gegen das Schachprogramm demonstriert, unsinnig oder sogar unzulässig wird. Auch beispielsweise die Simulation eines randomisierten Sortieralgorithmus, in dem die einzelnen Schritte nacheinander ausgeführt und angezeigt werden, könnte zu reichlich Irritation führen, wenn die erklärenden Worte des Dozenten ( Jetzt wird die 7 mit der 12 verglichen ) nicht mit dem übereinstimmen, was auf Clientseite zu sehen ist. Im Gegensatz dazu ist die Verwendung eines randomisierten Algorithmus, der nur Einfluss auf die Laufzeit, nicht aber auf das äußere Erscheinungsbild des Applets hat, durchaus denkbar, wie es etwa beim Applet aus Kapitel , das den randomisierten Konvexe-Hülle-Algorithmus implementiert, der Fall ist. Würden allerdings einzelne Schritte des Algorithmus zu sehen sein, wäre das Applet hingegen wieder ungeeignet. Die verwendeten Applets dürfen ebenfalls nicht von dem Zeitpunkt, an dem (bzw. von den Zeitintervallen, zwischen denen) Ereignisse ausgeführt werden, abhängig sein, da es auf Clientseite möglich ist, die Vorlesung anzuhalten, vor- und zurückzuspulen. Aus Effizienzgründen werden nur bestimmte Ereignisse, die das Applet auf Serverseite empfängt, aufgezeichnet und an die Clients weitergeleitet. Dabei handelt es sich um die Ereignisse, die in Java ein MouseListener oder ein ActionListener empfängt, beispielsweise aber nicht die Ereignisse, die ein MouseMotionListener oder KeyListener empfängt. Daher sind Applets, die auf Mausbewegungen reagieren - egal ob mit gedrückter Maustaste oder nicht - sowie Applets, die auf Tastatureingaben reagieren, ungeeignet. Wenn sich diese Einschränkungen allerdings als zu stark herausstellen sollten, können sie mit relativ kleinem Aufwand aufgehoben werden. Seite 32 von 61

33 Bisher wird die Tafel beim Client in der gleichen Größe angezeigt, in der sie auch im Vorlesungssaal zu sehen war. Falls allerdings die Bildschirmauflösung beim Client dafür nicht ausreicht, ist ein Teil der Tafel nicht zu sehen. Deshalb wird es in Zukunft für den Client möglich sein, die Größe der Tafel selbst festzulegen. Alle Ereignisse werden dann auf die neue Größe skaliert. Dies hat dann aber für die Verwendung von Applets die Folge, dass sie skalierbar sein müssen und sich auch skaliert sinnvoll verhalten. Wenn sich etwa ein Aktionsbereich am unteren Rand des Applets befindet, der unabhängig von der Größe des Applets immer gleich groß ist, kann es passieren, dass er zwar auf Serverseite bei einem Mausklick knapp oberhalb verfehlt wird, aber auf Clientseite, bei dem das Applet auf eine kleinere Größe herunterskaliert wurde, der entsprechend skalierte Mausklick den Aktionsbereich hingegen trifft. Unter Aktionsbereich ist hier ein Bereich zu verstehen, der eine bestimmte Aktion auslöst, wenn er mit der Maus angeklickt wird Einrichten der WWW-Seiten Offline-Betrachtung Sofern das Verzeichnis, das das Tafelprogramm angelegt hat, nicht weblesbar ist, muss man es in ein weblesbares kopieren. Das Verzeichnis für das folgende Beispiel sei Um eine WWW- Seite einzurichten, über die eine Vorlesung offline betrachtet werden kann, müssen nun die folgenden Tags in den HTML-Code der Seite eingefügt werden. Zunächst das Tafel-Applet: <APPLET code= "echalk.client.clienturlapplet" archive= "http://www.inf.fu-berlin.de/~raffel/e-kreide/echalk_client. jar" codebase= "http://www.inf.fu-berlin.de/~raffel/e-kreide/test/applets" name= "tafel" width= 0 height= 0> <PARAM NAME= base_url VALUE= "http://www.inf.fu-berlin.de/~raffel/e-kreide/test"> <PARAM NAME= offset Seite 33 von 61

34 VALUE= "0"> <PARAM NAME= audioname VALUE= "audio"> </APPLET> Als Archiv muss der Ort angegeben werden, in dem sich das JAR-File von E- Kreide befindet. Damit die in der Vorlesung in die Tafel integrierten Applets auch ausgeführt werden können, muss das Unterverzeichnis applets des Verzeichnisses, in dem sich die Vorlesung befindet, als Codebase angegeben werden. Da das Applet ein eigenes Fenster öffnet, sind die Höhe und Breite des eigentlichen Applets jeweils 0. Als Parameter mit dem Namen base_url muss nun noch das Verzeichnis angegeben werden, in dem sich die Vorlesung befindet. Codebase ist demnach also immer das Unterverzeichnis applets der base_url. Da jedoch im Applet aus Sicherheitsgründen das Setzen der Codebase nicht möglich ist, lässt sich das leider nicht automatisieren. Wenn am Anfang der Vorlesung ein längeres leeres Anfangsstück vorliegt, kann man mit Hilfe des Parameters offset angeben, um wie viele Millisekunden alle Ereignisse früher kommen sollen. Unter audioname muss man den Namen angeben, den man dem Audio-Applet gegeben hat. Dies ist deshalb erforderlich, weil bisher die Tafel die Synchronisation zwischen Tafel und Audio übernimmt. Später wird dies vermutlich die Steuerungskonsole übernehmen. Nun das Audio-Applet: <APPLET code= "wwr.wwrclient" archive= "http://www.inf.fu-berlin.de/~raffel/e-kreide/echalk_client. jar" name= "audio" width= 400 height= 400> <PARAM NAME= ONDEMANDMODE VALUE= "http://www.inf.fu-berlin.de/~raffel/e-kreide/test/test.wwr" > </APPLET> Beim Audio-Applet muss das gleiche Archiv wie beim Tafel-Applet angegeben werden. Dies ist erforderlich, weil die Synchronisation zwischen Tafel und Audio über die gemeinsame Synchronisationsschnittstelle masi.masi erfolgt und Klassen und Schnittstellen aus unterschiedlichen Archiven aus Sicherheitsgründen in vielen Browsern als nicht gleich erkannt werden. Als Name für das Audio- Seite 34 von 61

35 Applet muss eingesetzt werden, was im Tafel-Applet unter dem Parameter audioname eingetragen wurde. Der Parameter mit dem Namen ONDEMANDMODE muss auf die Datei gesetzt werden, in der der Ton der Vorlesung als WWR-Datei abgelegt wurde. Schließlich noch die Steuerkonsole: <APPLET code= "masiconsole.masiconsole" archive= "http://www.inf.fu-berlin.de/~raffel/e-kreide/echalk_client. jar" width= 400 height= 50> </APPLET> Da die Konsole noch nicht fertiggestellt ist, kann es sein, dass sich noch Änderungen ergeben werden Live- und zeitversetzte Betrachtung Im Falle der Live- und zeitversetzten Betrachtung ist das Einrichten der WWW- Seiten ähnlich zur Offline-Betrachtung. Jedoch muss als Code echalk.client.clientserverapplet angegeben werden. Als zusätzliche Parameter müssen hier server und port angegeben werden, um den Namen des Servers sowie die Portnummer festzulegen, von dem aus die an der Tafel anfallenden Ereignisse geholt werden. Server ist der Rechner, auf dem das Tafelprogramm gestartet wurde, Portnummer ist 4712, der Default-Port für E-Kreide. Da in Applets aus Sicherheitsgründen kein anderer Server kontaktiert werden kann, muss der Server der Rechner sein, auf dem sich das Applet befindet. Später wird es noch ermöglicht werden, den benutzten Port einzustellen und, wenn es sich als notwendig erweist, auch einen anderen Rechner anzugeben, auf dem der Server läuft. Die Angabe des Parameters base_url ist auch hier erforderlich, da die verwendeten Bilder und Applets nicht direkt vom Server, sondern vom über diesen Parameter spezifizierten Verzeichnis geladen werden. Das Audio-Applet ist ebenfalls anders zu parametrisieren: Als Parameter SERVER und PORT müssen der Server und die Portnummer angegeben werden, auf denen der Ton gesendet wird. Aufgrund der Sicherheitsbeschränkungen für Applets muss der Server auch hier wieder der Rechner sein, auf dem sich das Applet befindet. Der Default für die Portnummer ist Zeitversetzte Übertragung des Tons ist bisher noch nicht möglich, wird es aber in der Zukunft sein. Seite 35 von 61

36 Eine Steuerungskonsole steht nur bei der Offline-Betrachtung zur Verfügung Benutzerschnittstelle für Betrachter Der Betrachter braucht nur die zur Vorlesung angegebene URL aufzurufen. Er erhält dann ein Fenster, das genauso wie das Fenster bei der Tafel aussieht, mit einer großen Malfläche und mit einer Scrollbar rechts. Nur die Menüs unterscheiden sich vom Tafelprogramm. Sollte auf der Seite ein echalk.client.clientserverapplet laufen, kann er zwischen Live- und zeitversetzter Betrachtung wählen. Im Fall der Live-Betrachtung werden Ereignisse, die schon vor dem Aufrufen der Seite aufgetreten sind, so schnell wie möglich und dann alle weiteren auftretenden Ereignisse sofort abgespielt. Bei der zeitversetzten Betrachtung entspricht der Zeitpunkt, an dem das Applet gestartet wurde dem Zeitpunkt 0, zu dem die Vorlesung gestartet wurde. Alle weiteren Ereignisse werden dann mit der entsprechenden Verzögerung angezeigt, so dass die ursprünglichen Zeitintervalle zwischen den Ereignissen erhalten bleiben. Da der Ton bisher jedoch noch nicht zeitversetzt gesendet werden kann, ist die zeitversetzte Übertragung nur sinnvoll, wenn man aus technischen Gründen sowieso keinen Ton empfangen kann. Sollte es sich um ein echalk.client.clienturlapplet handeln, entspricht wie bei der zeitversetzten Betrachtung der Zeitpunkt, an dem das Applet gestartet wurde dem Zeitpunkt 0, zu dem die Vorlesung gestartet wurde. Über eine Steuerkonsole kann der Betrachter das Abspielen der Vorlesung anhalten sowie vor- und zurückspulen. Die Steuerkonsole ist noch nicht fertiggestellt. Abbildung 17 zeigt ihr vorläufiges Aussehen. Abbildung 17: Vorläufiges Aussehen der Steuerungskonsole Im Menü Bearbeiten (Edit) kann der Benutzer einstellen, welcher Bildschirmausschnitt (Screen Clipping) gerade zu sehen ist. Sollte Immer wie Server (Always like server) eingestellt sein, ist immer der Bildschirmausschnitt zu sehen, der bei der Vorlesung im Hörsaal auch zu sehen ist bzw. war. Bei Bei Veränderungen wie Server (At changes like server) kann der Betrachter über die Scrollbar auf der rechten Seite den aktuellen Bildschirmausschnitt verändern. Dies kann beispielsweise sinnvoll sein, wenn man sich einen vorherigen Vorlesungsteil noch einmal durchlesen will, während die Vorlesung schon weitergelaufen ist und der gewünschte Teil den sichtbaren Bereich verlassen hat. Sollte sich jedoch bei der Vorlesung der sichtbare Bereich ändern, springt er beim Betrachter automatisch dahin zurück, damit er weiß, wo sich die Vorlesung gerade befindet. Ist dies nicht gewünscht, kann man Immer eigenen verwenden (Always use own) einstellen. Seite 36 von 61

37 Die Malfläche beim Betrachter ist rein passiv und empfängt nur Ereignisse vom Server bzw. aus der Datei, die sich an der angegebenen URL befindet. Der Betrachter selbst kann nichts in sie hineinmalen. Die Scrollpunkte sind zwar sichtbar, allerdings inaktiv, das hat zur Folge, dass der Benutzer nur mit der Scrollbar den sichtbaren Bereich verändern kann. Dies wird sich aber in Zukunft ändern, auch wenn es für einen Betrachter nicht so schwer ist, die Scrollbar mit der Maus zu bedienen, wie für den Dozenten z.b. mit einem Grafiktablett. Ebenso wird in Zukunft für den Betrachter auch ein Kontextmenü über die rechte Maustaste verfügbar sein. Über das Menü Datei (File) lässt sich das Applet mittels Beenden (Exit) beenden. Seite 37 von 61

38 5. Entwurf und Implementierung Die Implementierung teilt sich in zwei Programme auf. Das sind ein Tafelprogramm, mit dem der Dozent Vorlesungen halten und abspeichern kann und ein Betrachtungsprogramm, mit dem Studenten gespeicherte oder gerade gehaltene Vorlesungen betrachten können. Beide Programme wurden in Java geschrieben. Die Gründe für diese Entscheidung werden im folgenden erläutert. Da das Betrachtungsprogramm so geschrieben werden sollte, dass es vom Benutzer nicht erst installiert werden muss, sondern beim Aufrufen einer URL direkt ausgeführt werden kann, ist als Implementierungssprache hier nur Java möglich. Das Betrachtungsprogramm wird dabei als Applet realisiert. Aufgrund der vielen Gemeinsamkeiten beider Programme bietet es sich an, diese nicht getrennt, sondern gemeinsame Teile auch gemeinsam zu entwerfen und zu implementieren. Anschließend kann man in beiden Programmen die gemeinsame Implementierung verwenden und sie erweitern, wo es nötig ist. Dies geht aber nur, wenn auch das Tafelprogramm in Java geschrieben ist. Außerdem wird durch die Verwendung von Java auch beim Tafelprogramm Plattformunabhängigkeit erreicht. Die gemeinsamen Klassen, im Package echalk.shared zusammengefasst, werden in Kapitel 5.1. erläutert. Da die Übertragung zwischen Tafelrechner und den einzelnen Rechnern der Betrachter dem Client-Server-Prinzip entspricht, werden die entsprechenden Programmteile auch als Server bzw. Client bezeichnet. Auf Serverseite wurde noch zwischen dem eigentlichen Server und dem Tafelprogramm unterschieden, da in Erwägung gezogen wird, es später auch zu ermöglichen, den Server auf einem anderen Rechner als dem Tafelrechner laufen zu lassen. Da aus Effizienzgründen auf die Verwendung eines verteilten Systems wie RMI, CORBA oder Voyager verzichtet wurde, sondern direkt TCP/IP-Socket- Verbindungen verwendet werden, ist für die Kommunikation zwischen Server und Client ein Kommunikationsprotokoll erforderlich. Auf dieses wird in Kapitel 5.2. näher eingegangen. Der Entwurf der beiden Programme, Tafel und Server einerseits, Client andererseits, wird in den Kapiteln 5.3., 5.4. und 5.5. erläutert. Seite 38 von 61

39 5.1. Gemeinsame Klassen Kernklasse des Packages echalk.shared ist das DrawPanel, welches eine Unterklasse von java.awt.panel darstellt. Dabei handelt es sich um eine Zeichenfläche, die ihre zugehörigen Formen anzeigen kann. Formen werden über die Methode addform(form) hinzugefügt und in einer geordneten Liste von Formen, realisiert durch den java.util.vector forms, abgelegt. Die Schnittstelle Form wird weiter unten erläutert. In der ursprünglichen Konzeption malt die paint()-methode alle Formen in forms in die Zeichenfläche. Da aber bei java.awt.panel die paint()-methode keinen Buffer benutzt, würden bei jedem Aufruf von paint() alle Linien einzeln auf das DrawPanel gezeichnet werden. Als Lösung wäre es möglich gewesen, von javax.swing.jpanel zu erben und mittels setdoublebuffered(true) Double- Buffering einzustellen. Leider ist dies erst ab dem JDK 1.2. möglich, das in den verbreiteten Browsern noch nicht unterstützt wird. Deshalb wird im Moment das Double-Buffering von Hand nachgebildet. Sobald von den verbreiteten Browsern das JDK 1.2. unterstützt wird, wird die ursprüngliche Konzeption wiederhergestellt, da das Nachbilden des Double-Buffering den Code unnötig kompliziert, unleserlich und an manchen Stellen auch uneffizient macht. In der aktuellen Version malt die paint()-methode nur das gepufferte Image auf den Bildschirm. Wenn dieses aktualisiert werden soll, ruft man die Methode resetimage() auf. Diese setzt den Hintergrund, zeichnet die beiden Scrollpunkte und malt dann alle Formen aus forms mit Hilfe ihrer paint(drawpanel,java.awt.graphics)-methode. Neben der Methode addform(form), die lediglich eine Form in die Datenstruktur forms einfügt, gibt es weitere Methoden, die Veränderungen direkt auf den Bildschirm malen. Stellvertretend für viele Methoden sei hier drawline(int x1,int y1,int x2, int y2, java.awt.color c, int paintsize) genannt, die eine Linie von (x1,y1) nach (x2,y2) mit Farbe c und Linienstärke paintsize malt. Bei Linienstärke 1 kann dabei einfach die drawline-methode des Graphics-Objektes benutzt werden. Ansonsten werden mit Hilfe von Anfangs- und Endpunkt der Linie und dem auf ihr liegenden Normalenvektor vier Punkte ermittelt, die der fillpolygon- Methode des Graphics-Objektes übergeben werden können. Um zu verhindern, dass die Linien unnatürlich eckig erscheinen, wird noch um Anfangs- und Endpunkt ein Kreis gemalt, dessen Durchmesser der Linienstärke entspricht. Beim Anfangspunkt ist dies nur erforderlich, wenn es sich nicht um einen Linienzug handelt, denn ansonsten war der aktuelle Anfangspunkt bei der letzten Linie der Endpunkt. Berücksichtigt wird beim Zeichnen von Linien der Wert der Variablen offset. Dabei handelt es sich um die y-koordinate der Punkte, die sich gerade am oberen Rand des sichtbaren Bereichs befinden. Anders formuliert könnte man auch sagen, es ist die Höhe des nicht sichtbaren Bereichs oberhalb des aktuellen Seite 39 von 61

40 Bildschirmausschnitts. Mit getoffset() bzw. setoffset(int) kann man auf diesen Wert zugreifen. Bei der Schnittstelle Form handelt es sich um eine abstrakte Form, die in ein DrawPanel gemalt werden kann. Der Name der Schnittstelle kommt von der anfänglichen Vorstellung, bei den einzufügenden Formen handle es sich überwiegend um geometrische Formen wie Kreise, Ellipsen, Quadrate oder Rechtecke. Da diese aber nur für geometrische Vorlesungen interessant sind und mit ein wenig Geschick durch Freihandzeichnungen nachgebildet werden können, wurde der Schwerpunkt zunächst auf das Einfügen von Bildern und Applets, Texteingabe sowie die Mathematica-Anbindung gelegt. In Zukunft werden aber die erwähnten Formen neben Kreide und Schwamm als Werkzeug zur Verfügung stehen. Eine Form hat zwei Methoden. Sie kann sich in ein DrawPanel zeichnen, indem ihre paint(drawpanel,java.awt.graphics)-methode aufgerufen wird. Die Übergabe des Graphics-Objektes ist wegen des verwendeten Double-Bufferings erforderlich. Und sie kann Auskunft geben, ob zeichnen in ein Graphics-Objekt bei gegebenem Offset erforderlich ist, also, ob der neu zu zeichnende Bereich, die sogenannte Clipping Region, überhaupt durch das Neu-Zeichnen betroffen wäre. Dazu gibt es die Methode paintneeded(java.awt.graphics,int), die nur aus Effizienzgründen vorhanden ist und auch so implementiert werden darf, dass true zurückgegeben wird, obwohl Zeichnen nicht notwendig ist. Die Schnittstelle Form wird durch die Klassen Line, Text, Image und Applet implementiert. Dabei ruft die paint(drawpanel,java.awt.graphics)-methode der Klasse Line beispielsweise drawline(...) des DrawPanels mit geeigneten Parametern auf. Zu den gemeinsamen Klassen gehört auch die Klasse Event. Ein Event stellt ein Ereignis dar, das auf Serverseite aufgetreten ist und an den Client übermittelt werden muss. Da zwischen Server und Client das Internet liegt, über das Daten mittels einer TCP/IP-Socket-Verbindung verschickt werden, wurde kein objektorientierter Ansatz gewählt, in dem einzelne spezielle Ereignisse Unterklassen von Event bilden und sich selbst ausführen können. Stattdessen wird jedes Ereignis durch einen String, der das Ereignis beschreibt, repräsentiert. Dieser String stellt eine Folge von String-Argumenten dar, wobei jedes Element der Folge durch den Trennstring "$" getrennt ist. Zusätzlich hat es noch einen Zeitstempel (timestamp), der angibt, wann das Ereignis aufgetreten ist. Ausgedrückt werden dabei die Millisekunden, die seit dem Start der Vorlesung vergangen sind. Seite 40 von 61

41 Abbildung 18 fasst das Package echalk.shared als UML-Diagramm zusammen. Abbildung 18: Package echalk.shared als UML-Diagramm 5.2. Kommunikationsprotokoll Da das Kommunikationsprotokoll nur zwischen Programmteilen von E-Kreide angewendet wird, wurde darauf verzichtet, es formal zu spezifizieren. Dieses Kapitel stellt eine natürlich-sprachliche Beschreibung des Protokolls dar. Bei der Kommunikation zwischen Server und Client genügt ein unidirektionales Kommunikationsprotokoll, da der Server nur Informationen über die Vorlesung an den Client schickt, dieser aber den Verlauf der Vorlesung nicht beeinflussen kann und somit auch nichts an den Server schicken muss. Lediglich die Information, dass Daten nicht oder fehlerhaft beim Client angekommen sind, ist für den Server interessant, da er sie in diesem Fall erneut senden muss. Da dies aber TCP/IP übernimmt, ist es aus Programmierersicht nicht zu beachten. Die Kommunikation funktioniert zeilenweise. Die erste Zeile, die an den Client geschickt wird, enthält die Breite des DrawPanels. Anschließend wird eine Zeile mit der "0" gesendet, die den Zeitstempel zum Ereignis der Festlegung der Breite darstellt und vom Client ignoriert werden kann. Als nächstes kommt eine Zeile mit der Höhe des DrawPanels, gefolgt von einer Zeile mit einer zu ignorierenden "0". Danach kommen die virtuelle Höhe, eine "0", der Titel der Vorlesung, eine Seite 41 von 61

42 "0", ein die Hintergrundfarbe spezifizierender String und noch eine "0". Die (hier irrelevanten) Zeitstempel machen die Verwaltung beim Server einfacher, ohne dass sie den Datenfluss entscheidend erhöhen. Nach der Übermittlung der Initialwerte für die Tafel kommen nun die eigentlichen Ereignisse, wobei zunächst in einer Zeile der das Ereignis repräsentierende String und anschließend in einer weiteren Zeile der dazugehörige Zeitstempel geschickt wird. Beim String handelt es sich um eine Folge von String-Argumenten, die zu einem einzigen String konkateniert wurden, wobei zwischen zwei String- Argumenten jeweils als Trennstring "$" eingefügt wurde. Sollte in einem String- Argument ein Dollarzeichen ('$') vorkommen, wird es durch seine CGI- Repräsentation ("%24") ersetzt, um es vom Trennzeichen zu unterscheiden. Ein Zeilenumbruch ('\n') in einem String-Argument wird ebenfalls durch seine CGI- Repräsentation ("%OA") ersetzt, da der Zeilenumbruch sonst als Ende des Strings erkannt würde. Um Eindeutigkeit sicherzustellen, muss nun auch das Prozentzeichen ('%') durch seine CGI-Repräsentation ("%25") ersetzt werden. Mit Hilfe der statischen Methode encode(string) der Klasse echalk.shared.stringcoder kann ein String-Argument entsprechend der obigen Ersetzungen so verpackt werden, dass es in einem Ereignisstring auftreten kann. Mit decode(string) kann es dann wieder in den Originalzustand zurückverwandelt werden Kodierung von Ereignissen Welches Ereignis durch welche Folge von String-Argumenten repräsentiert wird, wird im folgenden beschrieben. Bei Formen steht als erstes String-Argument, also an der Stelle 0, das Wort Form. Sollte es sich um eine Linie handeln, steht an Stelle 1 das Wort Line, an Stelle 2 die x-koordinate des ersten Punktes(x1), an Stelle 3 y1, an Stelle 4 x2, an Stelle 5 y2, an Stelle 6 die Farbe, durch ihren RGB-Wert repräsentiert, und an Stelle 7 die Linienstärke. Steht an Stelle 0 Form und an Stelle 1 Image, handelt es sich um ein Bild. In diesem Fall bestimmt Stelle 2 den Dateinamen, unter dem das Bild im Unterverzeichnis images der base_url zu finden ist, Stelle 3 und 4 bestimmen x- und y- Position des Bildes. Steht Form an Stelle 0 und Applet an Stelle 1, liegt ein Applet vor. Stelle 2 bestimmt dann den Dateinamen, unter dem das Applet im Unterverzeichnis applets der base_url zu finden ist, Stelle 3 und 4 bestimmen x- und y- Position des Applets. Wenn an Stelle 0 Form und an Stelle 1 Text steht, ist ein Text eingefügt worden. An Stelle 2 steht der eingefügte Text, der bei Texteingaben durch den Benutzer Seite 42 von 61

43 leer ist und nur bei durch Mathematica-Anfragen eingefügte Texte schon einen Wert hat, Stelle 3 und 4 bestimmen x- und y- Position des Textes, Stelle 5 die Farbe als RGB-Wert, Stelle 6 die Textgröße und Stelle 7 die Position des Cursors. Sollte an Stelle 0 Scrollbar stehen, so drückt dieses Ereignis aus, dass sich der Wert der Scrollbar verändert hat. Stelle 1 gibt dann den neuen Offset an. Wie schon in Kapitel 5.1. erwähnt, handelt es sich dabei um die y-koordinate der Punkte, die sich gerade am oberen Rand des sichtbaren Bereichs befinden bzw. um die Höhe des nicht sichtbaren Bereichs oberhalb des aktuellen Bildschirmausschnitts. Ein RemoveAll an Stelle 0 besagt, dass alle Formen gelöscht wurden. RemoveAll kommt ohne weitere Argumente aus. Wenn an Stelle 0 VirtualHeight steht, wurde die virtuelle Höhe des DrawPanels verändert. Stelle 1 enthält dann die neue virtuelle Höhe. Ein AppletEvent an Stelle 0 deutet auf ein bei einem Applet aufgetretenen Ereignis hin. Hier wird zwischen Mouse- und Action-Events unterschieden. Sollte an Stelle 1 Mouse stehen, handelt es sich um ein Mouse-Event. Stelle 2 enthält dann die Nummer des Applets, Stelle 3 die ID des Events, Stelle 4 die Modifiers, Stelle 5 und 6 x- und y- Position des Events, Stelle 7 den Clickcount und Stelle 8 den booleschen Wert, der ausdrückt, ob es sich um einen Popup-Trigger handelt oder nicht. Ab Stelle 9 beginnend stehen in den folgenden Stellen die Indices der Subkomponente des Applets, die das Event empfangen hat. Sollte an Stelle 1 Action stehen, handelt es sich um ein Action-Event. Stelle 2 enthält dann die Nummer des Applets, Stelle 3 die ID des Events, Stelle 4 das Action Command und Stelle 5 die Modifiers. Ab Stelle 6 beginnend stehen in den folgenden Stellen die Indices der Subkomponente des Applets, die das Event empfangen hat. Wenn an Stelle 0 Text steht, ist beim aktuell bearbeiteten Text ein Ereignis aufgetreten. Stelle 1 entscheidet dann darüber, welches Event vorliegt. Bei End wurde die Texteingabe beendet, bei Backspace das Zeichen links vom Cursor gelöscht, bei Left bzw. Right der Cursor nach links bzw. rechts bewegt und bei Char ein Zeichen eingefügt, wobei das eingefügte Zeichen dann an Stelle 2 steht Tafel Kernklasse des Packages echalk.board ist die Klasse Board, welche von java.awt.frame abgeleitet ist. Sie enthält eine Menüleiste, über die der Benutzer Befehle eingeben kann, eine Scrollbar, über die der aktuelle Offset eingestellt werden kann sowie ein ActiveDrawPanel, das eine Erweiterung von DrawPanel darstellt. Ferner übernimmt sie das Abspeichern der Ereignisse im angegebenen Verzeichnis, die Kommunikation mit Mathematica sowie das Versenden der Ereignisse an den Server. In ihrer main-methode, mit der das Programm gestartet wird, liest sie außerdem noch die Einstellungen aus der Konfigurationsdatei ein. Seite 43 von 61

44 Beim Abspeichern werden im angegebenen Verzeichnis drei Unterverzeichnisse, board, images und applets, erzeugt. Das Verzeichnis board enthält dabei lediglich eine Datei events.txt, die die Tafelereignisse gemäß dem in Kapitel 5.2. spezifizierten Protokoll enthält. Das gleiche Protokoll für die Netzwerkübertragung und für das Abspeichern in einer Datei zu verwenden hat den Vorteil, dass sich der Client in beiden Fällen an das gleiche Protokoll halten kann, ja sogar davon abstrahieren kann, woher er die Ereignisse bekommt. Das wird in Kapitel 5.5. noch näher erläutert. In images werden die Bilder abgelegt, die während der Vorlesung eingefügt wurden. Um Namenskollisionen von vornherein aus dem Weg zu gehen, werden die ursprünglichen Namen nicht beibehalten, sondern fortlaufend, mit 1 beginnend, nummeriert. Die Dateierweiterungen (.jpg oder.gif ) werden aber beibehalten, damit die Bilder auch außerhalb von E-Kreide verwendbar sind. Das Verzeichnis applets enthält sowohl die HTML-Seiten der geladenen Applets, ebenfalls fortlaufend nummeriert, als auch die geladenen Klassen. Das ActiveDrawPanel erbt von DrawPanel und erweitert es um die Möglichkeit, aktiv mit der Maus Formen einzufügen oder anderweitige Eingaben vorzunehmen. So wird beispielsweise beim Draggen der Maus eine Linie zwischen dem Punkt, an dem das aktuelle mousedragged-event entstanden ist und dem Punkt, an dem zuletzt ein mousedragged-event entstanden ist, gezogen, wenn als Werkzeug Kreide ausgewählt ist. Ist der Schwamm ausgewählt, wird ebenfalls eine solche Linie gezogen, allerdings mit Hintergrundfarbe und der Dicke des Schwamms. Die entsprechende Linie wird auch in forms, den Vektor der Formen, eingefügt. Sollte sich das ActiveDrawPanel gerade im Scrolling-Modus befinden, weil vorher einer der Scrollpunkte getroffen wurde, dann wird der Offset um die Differenz der y-koordinate zum letzten Punkt in die entsprechende Richtung verändert. In allen diesen Fällen wird das dabei angefallene Ereignis an den über das Board bekannten Server geschickt. Sollte gerade ein Text bearbeitet werden, übernimmt das ActiveDrawPanel auch die Verarbeitung der Texteingabe über die Tastatur. Auch das Platzieren von Bildern und Applets ist Aufgabe des ActiveDrawPanel. Dabei wird dem Benutzer ein Rahmen gezeigt, der sich mit den Mausbewegungen mitbewegt. Seite 44 von 61

45 In Abbildung 19 ist der Entwurf des Packages echalk.board als UML-Diagramm zu sehen. Abbildung 19: Package echalk.board als UML-Diagramm 5.4. Server Der Server, der sich im Package echalk.server befindet, übernimmt die Kommunikation mit den Clients. Über die Methode addevent(event) kann nun das Board dem Server Ereignisse mitteilen. Diese werden dann an die Folge der Ereignisse, realisiert durch den java.util.vector events, hinten angehängt. Der Server, Unterklasse von Thread, baut in seiner run()-methode ein java.net.serversocket auf 4712, dem Default-Port für E-Kreide, auf und wartet auf eingehende Verbindungen. Für jede dieser Verbindungen wird nun ein eigener Communicator, ebenfalls Unterklasse von Thread, erzeugt und gestartet. Der Server stellt außerdem die Methode nrevents() zur Verfügung, um die Anzahl der vorliegenden Ereignisse abzufragen und getevent(int i), um das i-te Ereignis zu erhalten. Der Communicator holt sich vom Server über die Methode getevent(int) nacheinander alle vorliegenden Events und sendet sie an den Client unter Einhaltung des Protokolls, indem er erst den repräsentierenden String und dann den Zeitstempel sendet. Dadurch, dass die ersten fünf Ereignisse Breite, Höhe, virtuelle Höhe, Titel der Vorlesung und Hintergrundfarbe enthalten, braucht der Communicator sie nicht als Sonderfall zu betrachten. Deshalb wurden auch die irrelevanten Zeitstempel bei diesen Ereignissen ins Protokoll aufgenommen. Sollten alle vorliegenden Ereignisse gesendet sein, legt sich der Communicator mittels wait() solange schlafen, bis neue Ereignisse vorliegen. Damit wird aktives Warten, das Rechenzeit kosten würde, vermieden. Über die Methode Seite 45 von 61

46 notifyevent(int i) wird der Communicator darüber informiert, dass das i-te Ereignis vorliegt und mittels notify() aufgeweckt. Der Server ruft in seiner Methode addevent(event) bei jedem Communicator notifyevent(int) auf. Abbildung 20 zeigt den Entwurf des Packages echalk.server als UML-Diagramm. Abbildung 20: Package echalk.server als UML-Diagramm 5.5. Client Obwohl der Client für die Verwendung im World Wide Web innerhalb eines Applets konzipiert wurde, lässt er sich auch als Applikation starten. Die beiden, aus Kapitel bekannten Applets, echalk.client.clienturlapplet und echalk.client.clientserverapplet erzeugen jeweils einen echalk.client.client mit geeigneten Parametern. Da es für den Client nicht interessant ist, woher er die Ereignisse bekommt, die er anzuzeigen hat, wurde von der tatsächlichen Ereignisquelle in der Schnittstelle EventSource abstrahiert. Diese verfügt lediglich über die Methode getinputstream(), die einen InputStream, über den die Ereignisse empfangen werden, zurückgibt. Implementiert wird EventSource durch die beiden Klassen Seite 46 von 61

47 ServerSource, die einen Server als Quelle benutzt und URLSource, die aus einer URL liest. Neben der EventSource benötigt der Client noch die base_url, den Offset, um den alle Ereignisse früher kommen sollen, das Applet, zu dem er gehört und den Namen des Audios, um sich mit ihm zu synchronisieren. Synchronisation ist erforderlich, da das Audio-Applet aufgrund schlechter Verbindung nicht rechtzeitig die erforderlichen Daten zum Abspielen des Tons bekommen haben könnte. In diesem Fall muss das Tafel-Applet mit dem weiteren Abspielen warten, damit Ton und Tafelbild synchron zueinander verlaufen. In Zukunft wird die Synchronisation durch die Steuerkonsole übernommen werden. Der Client erzeugt nach dem Einlesen der Breite, Höhe, virtuellen Höhe, dem Titel der Vorlesung und der Hintergrundfarbe für sich einen ClientFrame, das ist eine von java.awt.frame abgeleitete Klasse, die eine Menüleiste, eine Scrollbar und ein PassiveDrawPanel enthält. Das PassiveDrawPanel erbt von DrawPanel, enthält aber kaum zusätzliche Funktionalität. Seinen Namen hat es, weil man in ein PassiveDrawPanel nicht aktiv mit der Maus Ereignisse erzeugen kann, sondern es seine Ereignisse passiv, also von außen, erhält. In Abbildung 21 ist der Entwurf des Packages echalk.client als UML-Diagramm zu sehen. Abbildung 21: Package echalk.client als UML-Diagramm MASI Um die Synchronisation zwischen mehreren Applets zu erlauben und es zu ermöglichen, Vorlesungen anzuhalten, vor- und zurückzuspulen, wurde die Seite 47 von 61

48 Synchronisationsschnittstelle masi.masi (Media Applet Synchronisation Interface) entwickelt. Sie ist unter dokumentiert. MASI ist dabei so allgemein, dass es nicht nur innerhalb von E- Kreide Verwendung finden kann, sondern von beliebigen Applets, die einen Datenstrom abspielen, implementiert werden kann. Es kann Informationen über sich erfragen lassen, insbesondere, an welcher Stelle sich das Abspielen gerade befindet. Dazu muss man die Methode getoffset() aufrufen. Dabei wird die Nummer des aktuellen Frames zurückgegeben. Ein Frame ist die kleinste abspielbare Einheit des Applets. Wie lang ein Frame im entsprechenden Applet dauert, lässt sich über getframedurationmillis() abfragen. Ein MASI-Applet kann aber auch von außen gesteuert werden. So kann beispielsweise das Abspielen durch pause(boolean onoff) angehalten bzw. fortgesetzt werden. Da Anhalten nicht bei allen Applets möglich ist, besteht die Möglichkeit, über getcapabilities() eine Bitmask zu erfragen, die darüber Auskunft gibt, welche Steuerungen für das Applet möglich sind. So muss beispielsweise das Bit 4 des Ergebnisses von getcapabilities() gesetzt sein bzw. der Ausdruck (getcapabilities() & CANCLOSE) true ergeben, wenn man das Applet anhalten und fortsetzen will. Analog gibt es unter anderem die Konstanten CANREDOFROMSTART, CANSETOFFSET, CANFORWARDOFFSET und CANBACKWARDOFFSET, mit deren Hilfe man abfragen kann, ob man mittels redofromstart() das Abspielen von vorne beginnen lassen kann, mittels setoffset(long) die aktuelle Abspielposition absolut auf einen bestimmten Frame setzen kann oder mittels forwardoffset(long) bzw. backwardoffset(long) die Abspielposition um eine bestimmte Frameanzahl nach vorne bzw. nach hinten verschieben kann. Auch ein Applet, das keine dieser Steuerungen zulässt, ist ein gültiges MASI-Applet, wenn es keines der entsprechenden Bits in seiner getcapabilities()-methode setzt. Sowohl das Tafel-Applet als auch das Audio-Applet erlauben im Offline-Fall alle genannten Methoden Behandlung von Ereignissen Dem Client zugeordnet ist auch ein ClientEventHandler. Das ist eine Klasse, deren Funktionalität im wesentlichen in der Methode handleevent(string[] args) liegt. In ihr wird das durch args - gemäß des in Kapitel aufgeführten Protokolls - beschriebene Ereignis ausgeführt. Der ClientEventHandler ist eine abstrakte Klasse, da die Methode handleevent(event) abstrakt gelassen wurde. Sie wird in den beiden Unterklassen LiveEventHandler und FilmEventHandler implementiert. Vom Client wird im Live-Modus ein LiveEventHandler, im Falle des zeitversetzten oder des Offline-Modus ein FilmEventHandler instantiiert. Um aus dem Ereignisstring des Ereignisses ein String[] zu machen, ihn also in seine Stringargumente zu zerlegen, steht die statische Methode echalk.shared.parser.parseevent(string) zur Verfügung. Seite 48 von 61

49 Der LiveEventHandler ruft in seiner Methode handleevent(event) das entsprechende handleevent(string[]) unabhängig vom Zeitstempel des Events sofort auf. Der FilmEventHandler hingegen behandelt die Ereignisse mit Hilfe eines FilmThread. Dieser Thread sammelt die Ereignisse in einem java.util.vector und spielt sie der Reihe nach ab. Dabei wird der Zeitpunkt, zu dem der Thread gestartet wurde, als Zeitpunkt 0 angesehen und bei allen Ereignissen als Bezugspunkt genommen. Vor jedem Abspielen eines Ereignisses wird die Verzögerung berechnet, das ist die Zeit, die noch bis zum Abspielen gewartet werden soll. Sie ergibt sich aus dem Wert des Ausdrucks (Zeitstempel des Events - (aktuelle Zeit - Startzeit) - Offset). Ist die Verzögerung negativ oder Null, wird das Ereignis mittels handleevent(string[]) sofort abgespielt, ansonsten wird das Abspielen des Ereignisses um die errechnete Zeit verzögert. Eine negative Verzögerung kann sich ergeben, wenn viele Ereignisse schnell hintereinander kommen, die nicht so schnell ausgeführt werden können, wie es die Zeitstempel erfordern. Sie kann sich aber auch ergeben, wenn vorgespult wurde, was weiter unten noch näher erläutert wird. Der FilmEventHandler implementiert MASI. Dadurch, dass im ClientURLApplet alle Methoden aus MASI an die entsprechenden Methoden des dem Client zugeordneten ClientEventHandlers weitergeleitet werden, ist damit auch das ClientURLApplet eine Implementierung von MASI. Damit ist es der Steuerkonsole möglich, auf die Tafel Einfluss zu nehmen. Im folgenden werden unter überspulten Ereignissen solche verstanden, die zeitlich zwischen dem angewählten Zeitpunkt, zu dem gespult werden soll und dem Zeitpunkt, an dem sich das Abspielen vor der Spulanweisung befand, liegen. Handelt es sich um Vorspulen, wird von vorwärts, bei Zurückspulen von rückwärts überspulten Ereignissen gesprochen. Im FilmEventHandler wird das redofromstart() implementiert, indem das PassiveDrawPanel neu initialisiert wird, der FilmThread das aktuelle Ereignis auf das Ereignis mit Index 0 zurücksetzt und die Startzeit auf die aktuelle Zeit setzt. Ein forwardoffset(long) geschieht durch Manipulation der Startzeit. Dadurch werden die Ereignisse, die überspult worden sind, so schnell wie möglich ausgeführt. Auch hier wird es im FilmThread zu negativen Verzögerungswerten kommen. Ein backwardoffset(long) ist im allgemeinen nicht effizient möglich, da Events, die bei einem Applet angefallen sind, nicht rückgängig gemacht werden können. Auch das Ereignis RemoveAll ist nur sehr schwer rückgängig zu machen. Deshalb führt backwardoffset(long) zunächst ein redofromstart() aus, um von dort aus mittels forwardoffset(long) zur gewünschten Stelle zu kommen. Effizienter wäre es, nur dann so zu verfahren, wenn ein Ereignis, das nicht rückgängig zu machen ist, rückwärts überspult wurde. Sonst könnten alle Ereignisse, die zwischen dem aktuellen und dem angesteuerten Zeitpunkt liegen, rückgängig gemacht werden. Die Implementierung wird auch in Zukunft dahingehend geändert werden. Ein setoffset(long) wird je nach aktueller Position in ein forwardoffset(long) oder backwardoffset(long) umgewandelt. Wird im Falle eines pause(true) das Abspielen angehalten, wird dies im FilmThread durch Seite 49 von 61

50 ein boolesches Flag gekennzeichnet, das beim Abspielen der Ereignisse abgefragt wird. Seite 50 von 61

51 6. Ausblick Auch wenn E-Kreide im Moment schon benutzbar ist, stellt die aktuelle Implementierung noch Version dar, die die Bezeichnung 1.0 rechtfertigen würde. In vielen Punkten ist die Implementierung noch verbesserungswürdig, was auch in Zukunft geschehen wird. In Kapitel 6.1. werden diese aufgezählt. Weitere Verbesserungen der Implementierung werden erst dann möglich sein, wenn die Browser oder zumindest die am meisten verwendeten Browser das JDK 1.2. unterstützen werden. Diese Veränderungen werden in Kapitel 6.2. dargestellt. Erweiterungen von E-Kreide werden in Kapitel 6.3. genannt. Keinem dieser Kapitel zuzuordnen ist die Erstellung eines Benutzerhandbuchs sowie eines Online-Hilfe-Systems. Dies ist bisher noch nicht geschehen, aber für ein fertiges Produkt zwingend erforderlich und wird deshalb noch erstellt werden Verbesserung der Implementierung Da sich das ClientServerApplet aus Sicherheitsgründen nur mit dem Server verbinden darf, von dem aus es geladen wurde, muss der Server, von dem aus die Ereignisse an die Clients verschickt werden, zugleich der Webserver sein, auf dem sich das Applet befindet. Um es nun zu ermöglichen, Vorlesungen auf Rechnern zu halten, die nicht zugleich Webserver sind, darf der Server nicht mehr automatisch auf dem Rechner gestartet werden, auf dem sich die Tafel befindet. Deshalb wird in Zukunft ein eigenständiges Serverprogramm entwickelt, das auf zwei einstellbaren Ports lauscht. Einer von ihnen ist der Port, über den die Tafel Ereignisse an den Server schickt, der andere der, an den sich die Clients verbinden, um Ereignisse abzufragen. Der Server wäre dann dazu da, die Ereignisse zu verteilen und weiterzuleiten. Als zusätzliche Parameter wären dann bei der Tafel anzugeben, ob überhaupt ein Server verwendet werden soll. Ist dies nicht der Fall, so ist kann die Vorlesung nicht live oder zeitversetzt im World Wide Web betrachtet werden. Allerdings bestünde dann immer noch die Möglichkeit, eine Offline-Betrachtung zu ermöglichen. Wenn aber ein Server verwendet werden soll, so ist über Parameter anzugeben, ob dieser auf dem lokalen Rechner auf einem ebenfalls anzugebenden Port neu gestartet werden soll oder auf welchem Host und auf welchem Port der Server sich befindet, der kontaktiert werden soll. Wird der Server lokal gestartet, so ist darauf zu achten, dass er nach Beendigung des Tafelprogramms anders als in der bisherigen Implementierung so lange bestehen bleibt, wie noch Clients vorhanden sind, die Ereignisse abfragen. Ein Ereignis, das das Ende der Vorlesung kennzeichnet, wäre zu diesem Zweck noch einzuführen. Dies wäre ohnehin für den Betrachter interessant, da ihm bisher nicht explizit mitgeteilt wird, dass das Ende der Vorlesung erreicht ist. Seite 51 von 61

52 Beim Audio-Applet (WWR) wird es in Zukunft für alle Plattformen möglich sein, live zu senden. Bisher ist es nur unter Unix-Systemen möglich, die das OSS (Open Sound System) bzw. Alsa Sound System haben, also beispielsweise Linux, Solaris und FreeBSD. Zeitversetztes Senden, das bisher überhaupt nicht geht, wird ebenfalls in Zukunft für alle Plattformen möglich sein. Die Steuerkonsole wird die Synchronisation zwischen Tafel und Audio übernehmen. Dies tut bisher die Tafel. Wenn sich beim Einfügen von Applets herausstellen sollte, dass die Beschränkung auf MouseListener oder ActionListener zu restriktiv ist, dann werden weitere Listener hinzugefügt. Der Tafel-Client wird noch um ein Kontextmenü erweitert, so dass man auch dort, wie bei der Tafel, über die rechte Maustaste auf das Menü zugreifen kann. Die Breite und Höhe von Applets, Bildern sowie von grafischen Mathematica- Ausgaben wird der Vortragende selbst bestimmen können. Dabei ist bei Bildern darauf zu achten, dass die ursprünglichen Größenverhältnisse erhalten bleiben. Die im folgenden aufgeführten Schwächen der Implementierung müssen noch beseitigt werden. Fehlermeldungen werden bisher sowohl bei der Tafel als auch beim Client nach System.out geschrieben. Da sie dort aber kaum auffallen, müssten Dialogfenster geöffnet werden, die über den aufgetretenen Fehler informieren. Bei den über die Konfigurationsdatei eingestellten Parametern wird bisher weder geprüft, ob sie überhaupt vorhanden sind, noch ob, wenn vorhanden, sie sinnvoll sind. Um zu verhindern, dass das Programm durch fehlende oder falsche Parameter sich nicht korrekt verhält oder sogar abstürzt, muss am Anfang eine Prüfung erfolgen, bei der fehlende und falsche Parameter durch sinnvolle Standardwerte ersetzt werden. Auf Seite des Client sind die Scrollpunkte, die sich am oberen und unteren Rand der Tafel befinden, zwar sichtbar, aber nicht aktiv. Das PassiveDrawPanel muss also dahingehend erweitert werden, dass man bei ihm auch mit Hilfe der Scrollpunkte scrollen kann. Beim Tafelprogramm werden die Scrollpunkte bisher noch übermalt, wenn man eine Form (Linie, Bild etc.) über sie setzt. Dies passiert sogar, wenn man mit dem Schwamm über sie malt, da die Verwendung des Schwamms als Erzeugung von Linien in Hintergrundfarbe zu verstehen ist. Die Implementierung muss dahingehend geändert werden, dass die Scrollpunkte immer sichtbar sind. Beim automatischen Umbruch von Texteingaben werden Wortgrenzen bisher nicht beachtet, wodurch mitten in einem Wort ein Zeilenumbruch erfolgen kann. Seite 52 von 61

53 Die Implementierung muss so verbessert werden, dass nur dann innerhalb eines Wortes umgebrochen wird, wenn es länger als die verfügbare Zeile ist. Bisher wird beim Zurückspulen die ganze Vorlesung intern von Anfang an abgespielt, auch wenn kein Ereignis dazwischenliegt, das nicht rückgängig zu machen ist. In Zukunft wird nur dann so verfahren, wenn ein Ereignis, das nicht rückgängig zu machen ist, rückwärts überspult wurde. Sonst könnten alle Ereignisse, die zwischen dem aktuellen und dem angesteuerten Zeitpunkt liegen, rückgängig gemacht werden Anpassung an JDK 1.2. Da in Browsern bisher die Verwendung von JDK 1.2. noch nicht möglich ist, mussten einige Unschönheiten in Kauf genommen werden, die mit dem JDK 1.2. nicht vorhanden gewesen wären. Am wichtigsten ist hierbei, dass AWT- Komponenten kein unmittelbares Double-Buffering erlauben, während dies bei Swing-Komponenten möglich ist. Demzufolge musste das Double-Buffering beim DrawPanel durch ein zusätzliches Graphics-Objekt künstlich nachgebildet werden. Der Programmcode wird dadurch allerdings unschön und unleserlich, da an allen Stellen, an denen normalerweise nur auf dem Bildschirm gezeichnet werden soll, auch ins gepufferte Graphics-Objekt gezeichnet werden soll. In Fällen, in denen ein bereits ins Graphics-Objekt gemalter Teil wieder gelöscht werden soll, etwa beim Editieren von Text oder beim Bewegen des Cursors, ist dies nicht effizient möglich. Deshalb muss in diesen Fällen das Graphics-Objekt mittels resetimage() komplett neu gezeichnet werden, was dazu führt, dass je nach Geschwindigkeit des Rechners die Veränderungen des Cursors nicht schnell genug gezeichnet werden und die letzten, nicht mehr gültigen Cursorpositionen noch zu sehen sind. Mit echtem Double-Buffering könnte einfach der entsprechende Teil als Clipping Region bestimmt werden und mit einem einfachen repaint() neu gezeichnet werden. Außerdem ließen sich einige geometrische Konstruktionen, unter anderem das Zeichnen von Linien mit einer Linienstärke größer als Eins, mit Hilfe der ab dem JDK 1.2. vorhandenen Klassen des Packages java.awt.geom erheblich vereinfachen Erweiterungen Als nächstes wird E-Kreide um ein Video-Applet erweitert, das bereits unter dem Namen World Wide Video (WWV) von Gerald Friedland entwickelt wird. Dieses wird ebenfalls MASI implementieren und über die Steuerkonsole ansprechbar sein. Das Video wird den Dozenten zeigen. Wenn man die einzelnen Handbewegungen und Gesichtsveränderungen des Dozenten als eher unwichtig ansieht, sondern mit Hilfe des Videos die Vorlesung persönlicher gestaltet werden soll, Seite 53 von 61

54 reicht für die Videoübertragung auch eine relativ geringe Framerate. Da Ton und Tafelbild wichtiger sind, wird sich das Video auch einfach abstellen lassen, indem man das Fenster schließt. Dies ist insbesondere wichtig, wenn die vorhandene Bandbreite nicht zur reibungslosen Übertragung von Tafel, Ton und Video ausreicht. Beim Tafel-Client wird es in Zukunft für den Betrachter die Möglichkeit geben, die Größe des Fensters selbst zu bestimmen, wobei allerdings das Verhältnis zwischen Breite und Höhe beibehalten werden sollte. Alle an der Tafel angefallenen Ereignisse würden dann beim Client auf die neue Fenstergröße umgerechnet. Solange die bei der Tafel verwendete Größe die Breite von 800 und die Höhe von 600 nicht übersteigt, so dass sie bei einer Auflösung von 800 x 600, wie sie heutzutage mindestens verwendet wird, noch komplett zu sehen ist, ist das Verändern der Tafelgröße beim Client nur ein nettes Extra. Ansonsten wäre es unbedingt erforderlich, damit die komplette Tafel überhaupt zu sehen ist und nicht die Ausmaße des Bildschirms überschreitet. Das Kontextmenü beim Tafelprogramm wird dahingehend verändert, dass häufig benutzte Menüpunkte leicht erreichbar sind. Es wird ein großes Fenster aufpoppen, bei dem alle Farben nicht nur in Worten beschrieben, sondern auch farblich zu sehen sind. Die Linienstärken und Textgrößen werden durch entsprechende Linien bzw. Buchstaben veranschaulicht. Die übrigen Funktionen des Menüs (Bilder und Applets einfügen, Texteingabe, Eingabe von Mathematica- Anfragen etc.) werden durch geeignete Symbole dargestellt. Lars Knipping arbeitet bereits an der Erstellung eines solchen Kontextmenüs. Sein vorläufiges Aussehen zeigt Abbildung 22. Dabei wurden bisher lightgray, gray und darkgray bei den Farben aus Platzgründen weggelassen. Da sich das Wechseln der Farbe in der allgemeinen Vorlesungssituation als die am häufigsten ausgeführte Aktion herausgestellt hat, wäre es praktisch, dies noch schneller durchführen zu können. Denkbar wäre, die F-Tasten auf der Tastatur mit verschiedenen Farben zu belegen. Zur optischen Unterstützung könnte man dann farbige Aufkleber auf der Tastatur anbringen. Die Pfeiltasten könnte man zum Wechseln zur nächstgrößeren bzw. nächstkleineren Schriftgröße verwenden und mittels der EINFÜGEN-Taste zwischen Kreide und Schwamm hin- und herschalten. Es wird auch ermöglicht werden, benutzerdefinierte Farben für Kreide, Text und Hintergrund sowie benutzerdefinierte Werte für Schrift- und Textgröße zuzulassen. Farben könnten dabei durch ihre Rot-, Grün- und Blauwerte spezifiziert werden. Die Menge der verfügbaren Werkzeuge, die bisher nur aus Kreide und Schwamm besteht, wird noch um geometrische Formen wie Kreise, Ellipsen, Quadrate oder Rechtecke erweitert. Seite 54 von 61

55 Abbildung 22: Vorläufiges Aussehen des Kontextmenüs Es soll im Falle der Liveübertragung Zuhörern ermöglicht werden, Zwischenfragen zu stellen. Diese geben sie dann über die Tastatur ein oder sprechen sie in ein Mikrofon. Neben Mathematica können auch andere Programme sinnvoll über Texteingabe gesteuert werden. Denkbar wäre hier beispielsweise Haskell [10], eine funktionale Programmiersprache, an die man zeilenweise textuelle Anfragen stellen kann, auf die ebenfalls textuell geantwortet wird. Haskell könnte man vor allem bei Informatik-Veranstaltungen einsetzen. Java hingegen würde sich nicht so gut eignen, da man für ein lauffähiges Programm zu viel Drumherum schreiben müsste. In einer Vorlesung will man meistens aber nur das Wesentliche anschreiben und andere Teile mit "..." andeuten. Um sich das umständliche Eingeben von Programmzeilen für Mathematica oder andere Programme über die Kommandozeile zu ersparen, ist in Planung, die Schrift des Dozenten mit Hilfe einer Handschrifterkennung automatisch zu erkennen. Jedoch erfordert das Übergeben der erkannten Handschrift, dass jedes geschriebene Zeichen richtig erkannt wird, da schon ein einziges falsch übergebenes Zeichen zu einer sinnlosen Ausgabe des angesteuerten Programms Seite 55 von 61

Ende der Kreidezeit? Die Zukunft des Mathematikunterrichts

Ende der Kreidezeit? Die Zukunft des Mathematikunterrichts Ende der Kreidezeit? Die Zukunft des Mathematikunterrichts Raúl Rojas, Lars Knipping, Ulrich Raffel, Gerald Friedland, Bernhard Frötschl Freie Universität Berlin Institut für Informatik Takustr. 9, 14195

Mehr

Erstellen von Bildschirmpräsentationen mit Powerpoint 2003

Erstellen von Bildschirmpräsentationen mit Powerpoint 2003 Erstellen von Bildschirmpräsentationen mit Powerpoint 2003 Vorgang 1. PowerPoint öffnen 2. Titel eingeben 3. Neue Folie erstellen 4. Folie gestalten 4.1 Objekte einfügen Befehle Doppelklick auf Programmsymbol

Mehr

Fotos in einer Diashow bei PPT

Fotos in einer Diashow bei PPT Fotos in einer Diashow bei PPT Drei mögliche Verfahren, mit Bildern eine PPT-Präsentation aufzuwerten, möchte ich Ihnen vorstellen. Verfahren A Fotoalbum Schritt 1: Öffnen Sie eine leere Folie in PPT Schritt

Mehr

Arbeiten mit Acrobat. Vorstellung von Adobe Acrobat Bearbeitung des Dokuments Präsentationen erstellen Teamarbeit

Arbeiten mit Acrobat. Vorstellung von Adobe Acrobat Bearbeitung des Dokuments Präsentationen erstellen Teamarbeit Arbeiten mit Acrobat Vorstellung von Adobe Acrobat Bearbeitung des Dokuments Präsentationen erstellen Teamarbeit Vollbildmodus Wählen Sie das Menü Fenster Vollbildmodus. Die aktuell angezeigte Seite verdeckt

Mehr

Microsoft PowerPoint 2013 YouTube-Video einfügen

Microsoft PowerPoint 2013 YouTube-Video einfügen Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft PowerPoint 2013 YouTube-Video einfügen YouTube-Video einfügen in PowerPoint 2013 Seite 1 von 6 Inhaltsverzeichnis Einleitung... 2 Vorbereitungen...

Mehr

Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein.

Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein. Pfade einstellen Stand: Dezember 2012 Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein. Diese Anleitung soll zeigen, wie man Pfad-Favoriten

Mehr

http://www.nvu-composer.de

http://www.nvu-composer.de Kapitel 16 Seite 1 Ein portabler Web-Editor Wer viel Zeit in eine Website investieren will ist gut beraten, eine professionelle Software für Webdesigner zu beschaffen. Diese Programme sind sehr leistungsfähig,

Mehr

2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer. Beitrag von Peter Küsters. Spiegelung. Archiv. Bild 1: Unterschied zwischen FTP und Spiegelung

2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer. Beitrag von Peter Küsters. Spiegelung. Archiv. Bild 1: Unterschied zwischen FTP und Spiegelung 2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer Beitrag von Peter Küsters Formen des Datentransfers bei der Erfassung von Websites Im folgenden werden Methoden und Software zur Erfassung vorgestellt.

Mehr

Bilder im Internet. Hans Magnus Enzensberger

Bilder im Internet. Hans Magnus Enzensberger Kapitel 4 Alle reden von Kommunikation, aber die wenigsten haben sich etwas mitzuteilen. Hans Magnus Enzensberger Bilder im Internet Nach der etwas umfangreichen vorangehenden Lektion zum Ausklang der

Mehr

Powerpoint Übungen Workshop MS 2007

Powerpoint Übungen Workshop MS 2007 Powerpoint Übungen Workshop MS 2007 06. März 2009 Für Powerpoint - Präsentationen haben wir schon Kurse gegeben und heute wollen wir die Feinheiten üben. Powerpoint - Wettbewerb Präsentationen erstellen

Mehr

Grundschulung. Smart Board

Grundschulung. Smart Board Grundschulung Smart Board Themen: Handhabung Smart Board Kalibrierung Handhabung (Stiftablage. schwebende Werkzeugleiste) Einführung in die Notebook Software Übersicht Werkzeuge 1 Handhabung Smartboard

Mehr

Die Benutzeroberfläche von PDF Editor besteht aus den folgenden Bereichen:

Die Benutzeroberfläche von PDF Editor besteht aus den folgenden Bereichen: Bedienungsanleitung CAD-KAS PDF Editor 3.1 Die Benutzeroberfläche von PDF Editor besteht aus den folgenden Bereichen: Hauptmenu Werkzeuge zum Bearbeiten der Datei inblase2:=false; Einige Funktionen des

Mehr

Windows Vista Produktivität mit erleichterter Bedienung

Windows Vista Produktivität mit erleichterter Bedienung Windows Vista Produktivität mit erleichterter Bedienung Optimieren Sie Ihren Umgang mit dem PC, auch bei Einschränkungen Ihrer Sehfähigkeit, Ihrer Fingerfertigkeit, Ihres Hörvermögens oder Ihrer Sprechfähigkeit.

Mehr

Wir lernen PowerPoint - Grundkurs - Präsentation

Wir lernen PowerPoint - Grundkurs - Präsentation Inhalt der Anleitung Seite 1. Einführung: Was ist PowerPoint? 2 2. Eine einfache Präsentation erstellen 3 a) Layout 3 b) Weitere Seiten einfügen 3 c) Grafik einfügen 4 d) Speichern als ppt-datei 5 e) Seiten-Hintergrund

Mehr

Windows. Martina MÜLLER. Monika WEGERER. Zusammengestellt von. Überarbeitet von

Windows. Martina MÜLLER. Monika WEGERER. Zusammengestellt von. Überarbeitet von Windows Zusammengestellt von Martina MÜLLER Überarbeitet von Monika WEGERER April 2002 Windows Starten von Windows Wenn das System entsprechend installiert ist, erscheint Windows automatisch. (Kennwort)

Mehr

RÖK Typo3 Dokumentation

RÖK Typo3 Dokumentation 2012 RÖK Typo3 Dokumentation Redakteur Sparten Eine Hilfe für den Einstieg in Typo3. Innpuls Werbeagentur GmbH 01.01.2012 2 RÖK Typo3 Dokumentation Inhalt 1) Was ist Typo3... 3 2) Typo3 aufrufen und Anmelden...

Mehr

Mitarbeitereinsatzplanung. easysolution GmbH 1

Mitarbeitereinsatzplanung. easysolution GmbH 1 Mitarbeitereinsatzplanung easysolution GmbH 1 Mitarbeitereinsatzplanung Vorwort Eines der wichtigsten, aber auch teuersten Ressourcen eines Unternehmens sind die Mitarbeiter. Daher sollten die Mitarbeiterarbeitszeiten

Mehr

Grundlegendes zum Mimio-System

Grundlegendes zum Mimio-System Grundlegendes zum Mimio-System Das Mimio-System besteht aus vier Komponenten: - dem Whiteboard - dem interaktiven Ultrakurzdistanz-Beamer - der Software Mimio-Studio Notebook - dem Mimio-Stift (Pen) Durch

Mehr

Einführung in die Tabellenkalkulation Microsoft Excel

Einführung in die Tabellenkalkulation Microsoft Excel Einführung in die Tabellenkalkulation Microsoft Excel Mit Hilfe einer Tabellenkalkulation kann man Daten tabellarisch auswerten und grafisch darstellen. Die Daten werden als Tabelle erfasst, verwaltet

Mehr

User Manual Netviewer one2one

User Manual Netviewer one2one User Manual Netviewer one2one INDEX 1. Verbindungsaufbau...2 2. Arbeiten mit Netviewer im Show-Modus...3 2.1. Bildschirmansicht... 3 2.2. Das Netviewer Mini-Panel... 4 2.3. Features... 6 3. Arbeiten mit

Mehr

Präsentation I. Schülermaterial. Version für Impress. (Open Office und Libre Office)

Präsentation I. Schülermaterial. Version für Impress. (Open Office und Libre Office) Materialien zur Informationstechnischen Grundbildung (ITG) Präsentation I Schülermaterial Version für Impress (Open Office und Libre Office) Schülermaterial Präsentation I von Miriam Wesner, Hendrik Büdding

Mehr

www.profamilia.de Anleitung zur Nutzung von Typo3, Version 6.2

www.profamilia.de Anleitung zur Nutzung von Typo3, Version 6.2 www.profamilia.de Anleitung zur Nutzung von Typo3, Version 6.2 27.4.2015 Inhalt 1. Allgemeine Hinweise 2 2. Überblick über die Seite 3 3. Arbeiten im Einzelnen 5 3.1. Pflege der Beratungsstellendaten:

Mehr

SMART PODIUM EINFÜHRUNG FÜR LEHRENDE

SMART PODIUM EINFÜHRUNG FÜR LEHRENDE SMART PODIUM EINFÜHRUNG FÜR LEHRENDE Dezernat 6 Abteilung 4 Stand: 27.06.2014 1. EINLEITUNG Das SMART Podium unterstützt Sie bei der Durchführung Ihrer Lehrveranstaltungen. Mit Hilfe des SMART Podiums

Mehr

User Manual Netviewer one2one Inhalt 1. Verbindungsaufbau 2 1.1. Berater 2 1.2. Kunde 2 2. Arbeiten mit Netviewer im Show-Modus 3 2.1. Bildschirmansicht 3 2.2. Das Netviewer-Panel 3 2.3. Features 4 3.

Mehr

virtuos Leitfaden für die virtuelle Lehre

virtuos Leitfaden für die virtuelle Lehre virtuos Zentrum zur Unterstützung virtueller Lehre der Universität Osnabrück virtuos Leitfaden für die virtuelle Lehre Zentrum virtuos Tel: 0541-969-6501 Email: kursmanager@uni-osnabrueck.de URL: www.virtuos.uni-osnabrueck.de

Mehr

Bilder verkleinert per E-Mail versenden mit Windows XP

Bilder verkleinert per E-Mail versenden mit Windows XP Es empfiehlt sich, Bilder, die per E-Mail gesendet werden sollen, vorher durch Verkleinern zu optimieren, da sehr große Dateien von manchen E-Mail-Systemen nicht übertragen werden. Viele E- Mail-Server

Mehr

Schooltas. by Hueber

Schooltas. by Hueber by Hueber Inhalt Was ist Schooltas? 3 Wie arbeitet Schooltas? 3 Richte Sie Ihren Account ein 3 Fügen Sie Bücher hinzu 5 Öffnen Sie Ihre Bücher 6 Texte und Zeichnungen 8 Persönliches Notizbuch 9 Fügen Sie

Mehr

Dynamische Webseiten mit PHP 1

Dynamische Webseiten mit PHP 1 Dynamische Webseiten mit PHP 1 Webserver, PHP und MYSQL Ein Webserver dient dazu, Internetseiten an PCs zu senden, von denen sie aufgerufen werden. Beispiel: Sie tippen im Browser www.fosbosweiden.de ein.

Mehr

Arbeiten mit dem SMART Board

Arbeiten mit dem SMART Board Arbeiten mit dem SMART Board Anschalten des Geräts / Grundlegendes zur Benutzung Bevor Sie das SMART-Board anschalten stecken Sie bitte den VGA Stecker, den USB Stecker sowie bei Bedarf den Audio Stecker

Mehr

Der virtuelle HP Prime-Taschenrechner

Der virtuelle HP Prime-Taschenrechner Der virtuelle HP Prime-Taschenrechner HP Teilenummer: NW280-3002 Ausgabe 2, Februar 2014 Rechtliche Hinweise Dieses Handbuch sowie die darin enthaltenen Beispiele werden in der vorliegenden Form zur Verfügung

Mehr

- 1 - LOGION CMS. MedienService Ladewig

- 1 - LOGION CMS. MedienService Ladewig - 1 - LOGION CMS MedienService Ladewig - 2 - Administration Einführung: Warum Online Redaktion einfach sein kann... Wer Informationen aufbereitet und verteilt, steht mit den Mitteln moderner Informationstechnologie

Mehr

Erste Schritte mit Elvis 3 ein Beispielprojekt

Erste Schritte mit Elvis 3 ein Beispielprojekt Erste Schritte mit Elvis 3 ein Beispielprojekt Um Sie mit Elvis 3 vertraut zu machen möchten wir mit Ihnen mit diesem Kapitel ein Beispielprojekt vom ersten Aufruf von Elvis 3 bis zum Testlauf aufbauen.

Mehr

Bedienungsanleitung für die interaktive Tafel im MEVis Lernlabor

Bedienungsanleitung für die interaktive Tafel im MEVis Lernlabor Bedienungsanleitung für die interaktive Tafel im MEVis Lernlabor Version: 2008-06-09 Sebastian A. Weiß 1, Johannes Zylka 2 AG Mediendidaktik und Visualisierung (MEVis) PH Weingarten, University of Education

Mehr

C# Tutorial Part 1. Inhalt Part 1. Einleitung. Vorbereitung. Eagle Eye Studios. Einleitung Vorbereitung Das erste Projekt

C# Tutorial Part 1. Inhalt Part 1. Einleitung. Vorbereitung. Eagle Eye Studios. Einleitung Vorbereitung Das erste Projekt Eagle Eye Studios C# Tutorial Part 1 Inhalt Part 1 Einleitung Vorbereitung Das erste Projekt Einleitung Wer sich mit dem Programmieren schon einigermaßen auskennt, kann diesen Abschnitt überspringen. Programmieren,

Mehr

Neues Projekt anlegen... 2. Neue Position anlegen... 2. Position in Statikdokument einfügen... 3. Titelblatt und Vorbemerkungen einfügen...

Neues Projekt anlegen... 2. Neue Position anlegen... 2. Position in Statikdokument einfügen... 3. Titelblatt und Vorbemerkungen einfügen... FL-Manager: Kurze beispielhafte Einweisung In dieser Kurzanleitung lernen Sie die wichtigsten Funktionen und Abläufe kennen. Weitere Erläuterungen finden Sie in der Dokumentation FLManager.pdf Neues Projekt

Mehr

FTP HOWTO. zum Upload von Dateien auf Webserver. Stand: 01.01.2011

FTP HOWTO. zum Upload von Dateien auf Webserver. Stand: 01.01.2011 FTP HOWTO zum Upload von Dateien auf Webserver Stand: 01.01.2011 Copyright 2002 by manitu. Alle Rechte vorbehalten. Alle verwendeten Bezeichnungen dienen lediglich der Kennzeichnung und können z.t. eingetragene

Mehr

Outlook Web App 2010. Kurzanleitung. interner OWA-Zugang

Outlook Web App 2010. Kurzanleitung. interner OWA-Zugang interner OWA-Zugang Neu-Isenburg,08.06.2012 Seite 2 von 15 Inhalt 1 Einleitung 3 2 Anmelden bei Outlook Web App 2010 3 3 Benutzeroberfläche 4 3.1 Hilfreiche Tipps 4 4 OWA-Funktionen 6 4.1 neue E-Mail 6

Mehr

Cmsbox Kurzanleitung. Das Wichtigste in Kürze

Cmsbox Kurzanleitung. Das Wichtigste in Kürze Cmsbox Kurzanleitung Cmsbox Kurzanleitung Das Wichtigste in Kürze Die Benutzeroberfläche der cmsbox ist nahtlos in die Webseite integriert. Elemente wie Texte, Links oder Bilder werden direkt an Ort und

Mehr

Von: Sven Weltring, Viola Berlage, Pascal Küterlucks, Maik Merscher

Von: Sven Weltring, Viola Berlage, Pascal Küterlucks, Maik Merscher Von: Sven Weltring, Viola Berlage, Pascal Küterlucks, Maik Merscher Inhaltsverzeichnis 1. Desktop 2. Erklärung von Tastatur und Maus 3. Computer ausschalten 4. Neuer Ordner erstellen 5. Microsoft Word

Mehr

Bedienungsanleitung für den SecureCourier

Bedienungsanleitung für den SecureCourier Bedienungsanleitung für den SecureCourier Wo kann ich den SecureCourier nach der Installation auf meinem Computer finden? Den SecureCourier finden Sie dort, wo Sie mit Dateien umgehen und arbeiten. Bei

Mehr

Handbuch. zur Teilnahme am Online Teaching. der CRM Centrum für Reisemedizin GmbH

Handbuch. zur Teilnahme am Online Teaching. der CRM Centrum für Reisemedizin GmbH Handbuch zur Teilnahme am Online Teaching der CRM Centrum für Reisemedizin GmbH mit Adobe Acrobat Connect Version 2.5 Stand: August 2014 Seite 1 von 11 1. Inhalt 1. Inhalt...2 2. Einleitung...3 3. Systemvoraussetzungen...4

Mehr

Handout für die Nutzung von Open Sankoré

Handout für die Nutzung von Open Sankoré Handout für die Nutzung von Open Sankoré Rechte Funktionsleiste bietet 4 Ansichten (von links nach rechts): (1) Board: Arbeitsfläche (2) Internet: Direkter Aufruf eines Webbrowsers innerhalb von Open Sankoré

Mehr

Sie können Texte ansprechender gestalten, indem Sie diese mit Bildern auflockern.

Sie können Texte ansprechender gestalten, indem Sie diese mit Bildern auflockern. Gestaltung Word 2007 effektiv 4 GESTALTUNG Sie können Texte ansprechender gestalten, indem Sie diese mit Bildern auflockern. 4.1 Fotos Im Register Einfügen, Gruppe Illustrationen, öffnen Sie mit der Schaltfläche

Mehr

Was bedeutet Internet?

Was bedeutet Internet? Internet 1 Was bedeutet Internet? Im Internet sind Computer, die sich an verschiedenen Orten und in unterschiedlichen Ländern befinden, durch Telefonleitungen weltweit miteinander verbunden. Der Name Internet

Mehr

WordPress installieren und erste Einblicke ins Dashboard

WordPress installieren und erste Einblicke ins Dashboard WordPress installieren und erste Einblicke ins Dashboard Von: Chris am 16. Dezember 2013 In diesem Tutorial zeige ich euch wie ihr WordPress in der aktuellen Version 3.7.1 auf eurem Webspace installieren

Mehr

Dokumentation Eigenwartung

Dokumentation Eigenwartung Inhaltsverzeichnis 1 Allgemeines... 3 1.1 Copyright... 3 1.2 Einstieg... 3 2 Ordner Navigation... 4 3 Menüleiste... 5 3.1 Alle/Keine Elemente auswählen... 5 3.2 Kopieren... 5 3.3 Ausschneiden... 5 3.4

Mehr

Etoys für Einsteiger

Etoys für Einsteiger Etoys für Einsteiger Esther Mietzsch (nach einem Vorbild von Rita Freudenberg) März 2010 www.squeakland.org www.squeak.de Starten von Etoys 1. Du steckst Deinen USB Stick in die USB Schnittstelle am Computer.

Mehr

ekey TOCAhome pc Software Inhaltsverzeichnis 1. ZWECK DIESES DOKUMENTS... 3 2. VERWENDUNGSHINWEIS ZUR SOFTWARE... 3

ekey TOCAhome pc Software Inhaltsverzeichnis 1. ZWECK DIESES DOKUMENTS... 3 2. VERWENDUNGSHINWEIS ZUR SOFTWARE... 3 Inhaltsverzeichnis Software ekey TOCAhome pc 1. ZWECK DIESES DOKUMENTS... 3 2. VERWENDUNGSHINWEIS ZUR SOFTWARE... 3 3. MONTAGE, INSTALLATION UND ERSTINBETRIEBNAHME... 3 4. VERSION... 3 Version 1.5 5. BENUTZEROBERFLÄCHE...

Mehr

Leitfaden für die Veränderung von Texten auf der Metrik- Seite

Leitfaden für die Veränderung von Texten auf der Metrik- Seite Leitfaden für die Veränderung von Texten auf der Metrik- Seite 1. Einloggen... 2 2. Ändern vorhandener Text-Elemente... 3 a. Text auswählen... 3 b. Text ändern... 4 c. Änderungen speichern... 7 d. Link

Mehr

Der Windows-Explorer 2. Dateien verwalten

Der Windows-Explorer 2. Dateien verwalten 1 Der Windows-Explorer 2. Dateien verwalten Das Zauberwort für das Verwalten von Dateien lautet drag & drop, ziehen und fallen lassen : Eine Datei mit der linken Maustaste anklicken, die Maustaste dabei

Mehr

3 Task-Leiste Ziele des Kapitels:

3 Task-Leiste Ziele des Kapitels: 3 Task-Leiste Ziele des Kapitels: $ Die Task-Leiste ist ein zentrales Element von Windows 95. Dieses Kapitel zeigt Ihnen, wie Sie die Task-Leiste bei Ihrer Arbeit mit Windows 95 sinnvoll einsetzen können.

Mehr

Migration in PowerPoint 2010

Migration in PowerPoint 2010 Inhalt dieses Handbuchs Microsoft Microsoft PowerPoint 2010 unterscheidet sich im Aussehen deutlich von PowerPoint 2003. Daher wurde dieses Handbuch erstellt, damit Sie schnell mit der neuen Version vertraut

Mehr

Leitfaden zur Schulung

Leitfaden zur Schulung AWO Ortsverein Sehnde Reiner Luck Straße des Großen Freien 5 awo-sehnde.de PC Verwaltung für Vereine Leitfaden zur Schulung Inhalt Sortieren nach Geburtsdaten... 2 Sortieren nach Ort, Nachname, Vorname...

Mehr

1 Websites mit Frames

1 Websites mit Frames 1 Websites mit Frames Mehrere Seiten in einer einzelnen Seite anzeigen - Was sind Frames und wie funktionieren sie? - Was sind die Vor- und Nachteile von Frames? - Wie erstellt man eine Frames- Webseite?

Mehr

Das Anwendungsfenster

Das Anwendungsfenster Das Word-Anwendungsfenster 2.2 Das Anwendungsfenster Nach dem Start des Programms gelangen Sie in das Word-Anwendungsfenster. Dieses enthält sowohl Word-spezifische als auch Windows-Standardelemente. OFFICE-

Mehr

Publizieren von Webs mit SmartFTP

Publizieren von Webs mit SmartFTP Publizieren von Webs mit SmartFTP Informationen FTP steht für File Transfer Protocol. Ein Protokoll ist eine Sprache, die es Computern ermöglicht, miteinander zu kommunizieren. FTP ist das Standardprotokoll

Mehr

Es gibt aber weitere Möglichkeiten, die den Zugriff auf die individuell wichtigsten Internetseiten

Es gibt aber weitere Möglichkeiten, die den Zugriff auf die individuell wichtigsten Internetseiten Thema: Favoriten nutzen Seite 8 3 INTERNET PRAXIS 3.1 Favoriten in der Taskleiste Es gibt aber weitere Möglichkeiten, die den Zugriff auf die individuell wichtigsten seiten beschleunigen. Links in der

Mehr

Anleitung zur Verwendung von Silverstripe 3.x

Anleitung zur Verwendung von Silverstripe 3.x Anleitung zur Verwendung von Silverstripe 3.x Inhaltsverzeichnis: 1. EINLEITUNG 2. ORIENTIERUNG 2.1 Anmelden am CMS 2.2 Die Elemente des Silverstripe CMS 2.3 Funktion des Seitenbaums 2.4 Navigieren mit

Mehr

1 Grundlagen von Phase 5 Installiere das Programm Phase 5 auf dem Rechner.

1 Grundlagen von Phase 5 Installiere das Programm Phase 5 auf dem Rechner. Kapitel 1 Grundlagen von Phase 5 Seite 1 1 Grundlagen von Phase 5 Installiere das Programm Phase 5 auf dem Rechner. 1.1 Projekt anlegen Bevor du das Programm Phase 5 startest, musst du einen Ordner anlegen,

Mehr

Schnell-Anleitung für Dozenten zur Benutzung des Smartboards in PC 72

Schnell-Anleitung für Dozenten zur Benutzung des Smartboards in PC 72 Schnell-Anleitung für Dozenten zur Benutzung des Smartboards in PC 72 1. Grundsätzlich gilt: Bei Fragen hilft der Administrator gerne weiter! Bitte NIE mit einem Folienstift/Permanent-Marker auf das Smartboard

Mehr

Dateien, Ordner oder ganze Laufwerke mit WipeDisk sicher löschen:

Dateien, Ordner oder ganze Laufwerke mit WipeDisk sicher löschen: Dateien, Ordner oder ganze Laufwerke mit WipeDisk sicher löschen: Manchmal ist es nötig, Daten unwiederbringlich zu löschen. Einfach den Windowspapierkorb zu benutzen hilft gar nicht, denn da sind die

Mehr

Zeiterfassung-Konnektor Handbuch

Zeiterfassung-Konnektor Handbuch Zeiterfassung-Konnektor Handbuch Inhalt In diesem Handbuch werden Sie den Konnektor kennen sowie verstehen lernen. Es wird beschrieben wie Sie den Konnektor einstellen und wie das System funktioniert,

Mehr

Präsentation. homevisu Familie. Peter Beck. Juni 2011. www.p-b-e.de. 2011 p b e Peter Beck 1

Präsentation. homevisu Familie. Peter Beck. Juni 2011. www.p-b-e.de. 2011 p b e Peter Beck 1 Präsentation homevisu Familie Peter Beck Juni 2011 2011 p b e Peter Beck 1 Funktionensumfang Der Funktionsumfang das provisu Framework. Modular und durch Plug-In erweiterbar / anpassbar. Plug-In Schnittstelle

Mehr

WICHTIG!: Speichern Sie die Backup Datei außerhalb Safe and itunes. Für weitere Infos schauen Sie bitte unter Safe Backup erstellen.

WICHTIG!: Speichern Sie die Backup Datei außerhalb Safe and itunes. Für weitere Infos schauen Sie bitte unter Safe Backup erstellen. Safe Anleitung Safe erlaubt Ihnen Ihre sensiblen Daten zu organisieren und zu speichern. Sie können beliebige Kategorien zur Organisation Ihrer Daten erstellen. Wir bieten Ihnen vordefinierte Vorlagen

Mehr

Marginalspalten (Randnotizen) in Word 2007

Marginalspalten (Randnotizen) in Word 2007 Marginalspalten (Randnotizen) in Word 2007 Oft sieht man vor allem in Büchern eine Spalte rechts oder Links neben dem Text, in der weitere Hinweise oder auch Erläuterungen zum eigentlichen Text stehen.

Mehr

Wissenschaftliches Arbeiten mit dem Programm Microsoft Word

Wissenschaftliches Arbeiten mit dem Programm Microsoft Word Wissenschaftliches Arbeiten mit dem Programm Microsoft Word Ein Leitfaden und Ratgeber für Studierende der Hochschule Fulda des Fachbereichs Sozialwesen Inhaltsverzeichnis VORWORT... 1 1. EINRICHTEN DES

Mehr

Arbeiten mit BlueJ. Objektorientiertes Programmieren in Java mit BlueJ

Arbeiten mit BlueJ. Objektorientiertes Programmieren in Java mit BlueJ Arbeiten mit BlueJ Compilieren, Editieren, Objekte erzeugen, Methoden aufrufen, Objekte inspizieren, vorhandene Klassen benutzen, eigene Klassen und Methoden erstellen In BlueJ geht es einfach BlueJ durch

Mehr

Virtueller Übungsraum

Virtueller Übungsraum Virtueller Übungsraum Telelernen im ortsverteilten Vorlesungsund Übungsbetrieb Uwe Pirr Humboldt-Universität zu Berlin Rechenzentrum Virtueller Übungsraum Gemeinschaftsprojekt vom Rechenzentrum der HU

Mehr

Elektronisches Whiteboard, elektronischer Stift (es)

Elektronisches Whiteboard, elektronischer Stift (es) Elektronisches Whiteboard, elektronischer Stift (es) Wichtige Informationen vorab 1. Verkabelung Die Verkabelung ist abgeschlossen und muss und soll insbesondere nicht verändert werden: Also bitte keine

Mehr

Hinweise zu Java auf dem Mac:

Hinweise zu Java auf dem Mac: Hinweise zu Java auf dem Mac: 1. Möglichkeit zum Überprüfen der Java-Installation / Version 2. Installiert, aber im Browser nicht AKTIVIERT 3. Einstellungen in der Java-KONSOLE auf Deinem MAC 4. Java Hilfe

Mehr

Vorgehensweise lecturnity

Vorgehensweise lecturnity Vorgehensweise lecturnity I. Vorbereitung: 1. Erstellen Sie die Powerpoint-Folien, die Sie im Rahmen Ihrer Veranstaltung einsetzen möchten. Achten Sie darauf, dass alle Folien Titel haben. Auf aufwändige

Mehr

SWL-ATV_Monitor2012. In dem Programm werden Programmteile vom VLC Player genutzt. Diese unterliegen der Open Source Lizenz von www.videolan.

SWL-ATV_Monitor2012. In dem Programm werden Programmteile vom VLC Player genutzt. Diese unterliegen der Open Source Lizenz von www.videolan. Was ist der SWL-ATV_Monitor2012? SWL-ATV_Monitor2012 Mit diesem Programm können alle bekannten ATV (Amateurfunk-TV-Relais) empfangen werden und zusätzlich die aktuellen SSTV (Slow-Scan-Television) Bilder

Mehr

Begriffe (siehe auch zusätzliche Arbeitsblätter)

Begriffe (siehe auch zusätzliche Arbeitsblätter) Begriffe (siehe auch zusätzliche Arbeitsblätter) Die URL-Adresse(Uniform Resource Locator)(einheitlicher Quellenlokalisierer)ist die Bezeichnung die gesamte Adresse, wie z.b.: www.dscc-berlin.de http://

Mehr

Anleitung DONATSCH WebShare V02

Anleitung DONATSCH WebShare V02 Anleitung DONATSCH WebShare V02 1. Einleitung Ihr von uns gescanntes Objekt kann auf Wunsch via Webbrowser abgerufen werden. Sämtliche Scans sind einsehbar und es können Messungen darin durchgeführt werden.

Mehr

PowerPoint. Professionelle Vortragsgestaltung mit Bild, Video und Animation

PowerPoint. Professionelle Vortragsgestaltung mit Bild, Video und Animation PowerPoint Professionelle Vortragsgestaltung mit Bild, Video und Animation Agenda Grundlagen Tipps und Tricks im Umgang mit PPT Grafik, Video und Ton Perfekt präsentieren Handout und weitere Informationen

Mehr

Kurzanleitung zu WinZeit und dem Scanndy

Kurzanleitung zu WinZeit und dem Scanndy Kurzanleitung zu WinZeit und dem Scanndy Inhaltsverzeichnis Benötigte Materialien Seite 3 Grundlegende Bedienung des Scanndys Seite 4 Die Hauptmenü Punkte Seite 5 Das Drucken mit Barcode Seite 6 Zuordnen

Mehr

Anwender-Hilfe. Lehren mit Easiteach Next Generation

Anwender-Hilfe. Lehren mit Easiteach Next Generation Anwender-Hilfe Lehren mit Easiteach Next Generation Inhalt der Anwender Hilfe Inhaltsverzeichnis Seite 1: Start von Easiteach Seite 2: Allgemeine Mausfunktionen Seite 3: Easiteach Werkzeugleiste Seite

Mehr

JavaRemote. Version 2015.03

JavaRemote. Version 2015.03 JavaRemote Version 2015.03 JavaRemote Inhalt 1. Einleitung... 4 2. Installation der Webseiten, Lernen der IR Codes... 5 2.1 Hochladen der Dateien... 5 2.2 Lernen der IR Codes... 6 2.2.1 TV... 7 2.2.2 Media...

Mehr

Der Editor und seine Funktionen

Der Editor und seine Funktionen Der Editor und seine Funktionen Für die Eingabe und Änderung von Texten steht Ihnen im Pflegemodus ein kleiner WYSIWYG-Editor zur Verfügung. Tinymce 1 ist ein Open Source Javascript-Editor, der mittlerweile

Mehr

Erste Schritte mit HG 2

Erste Schritte mit HG 2 Erste Schritte mit HG 2 Malte Ried FH-Gießen Version: 1.0 21. November 2003 Inhaltsverzeichnis 1 Einführung 2 2 Allgemeines 2 2.1 Koordinaten...................................... 2 2.2 Farben.........................................

Mehr

VB.net Programmierung und Beispielprogramm für GSV

VB.net Programmierung und Beispielprogramm für GSV VB.net Programmierung und Beispielprogramm für GSV Dokumentation Stand vom 26.05.2011 Tel +49 (0)3302 78620 60, Fax +49 (0)3302 78620 69, info@me-systeme.de, www.me-systeme.de 1 Inhaltsverzeichnis Vorwort...2

Mehr

Windows 7. Der Desktop und seine Elemente. Der Desktop

Windows 7. Der Desktop und seine Elemente. Der Desktop Windows 7 Der Desktop und seine Elemente Der Desktop Nach der erfolgten Anmeldung an den Computer wird der DESKTOP angezeigt Der Desktop ist mit einem Schreibtisch zu vergleichen auf welchem Dokumente

Mehr

SIUSPRINT+ Benutzerhandbuch

SIUSPRINT+ Benutzerhandbuch SIUSPRINT+ Benutzerhandbuch Inhaltsangabe SIUSPRINT+...3 Hauptfenster... 4 Hauptmenü...7 Datei...8 Bericht Designer...9 Ansicht... 10 Log-Fenster... 11 Einstellungen... 12 Applikations-Einstellungen...13

Mehr

Recover Anleitung ONE XCELLENT-10 Tablet via USB Stick

Recover Anleitung ONE XCELLENT-10 Tablet via USB Stick Recover Anleitung ONE XCELLENT-10 Tablet via USB Stick Um Ihr ONE T10-E1 Tablet wieder in den Auslieferungszustand zurück zu versetzen, wenn das vorinstallierte Windows 8.1 nicht mehr startet, führen Sie

Mehr

REDAKTIONSHANBUCH ERWEITERUNG NEUE BILDVERWALTUNG

REDAKTIONSHANBUCH ERWEITERUNG NEUE BILDVERWALTUNG REDAKTIONSHANBUCH ERWEITERUNG NEUE BILDVERWALTUNG INHALTSVERZEICHNIS 1 NEUE BILDVERWALTUNG... 2 2 EINEN NEUEN UNTERORDNER ANLEGEN... 3 3 NEUE BILDER HOCHLADEN... 3 4 BILDER ZUSCHNEIDEN... 4 5 BILDER EINSTELLEN...

Mehr

PeDaS Personal Data Safe. - Bedienungsanleitung -

PeDaS Personal Data Safe. - Bedienungsanleitung - PeDaS Personal Data Safe - Bedienungsanleitung - PeDaS Bedienungsanleitung v1.0 1/12 OWITA GmbH 2008 1 Initialisierung einer neuen SmartCard Starten Sie die PeDaS-Anwendung, nachdem Sie eine neue noch

Mehr

Wie komme ich jetzt an meinen freigeschalteten Speicherplatz von der Uni ran?

Wie komme ich jetzt an meinen freigeschalteten Speicherplatz von der Uni ran? Wie komme ich jetzt an meinen freigeschalteten Speicherplatz von der Uni ran? Das erste Mal 1. Öffne den Arbeitsplatz (Start Arbeitsplatz) 2. Unter Extras auf Netzlaufwerk verbinden klicken 3. Ein beliebiges

Mehr

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 1. Benötigte Software Zur Erstellung des Installers wird folgende Software benötigt. Es wird sich in dieser Dokumentation

Mehr

Administrative Tätigkeiten

Administrative Tätigkeiten Administrative Tätigkeiten Benutzer verwalten Mit der Benutzerverwaltung sind Sie in der Lage, Zuständigkeiten innerhalb eines Unternehmens gezielt abzubilden und den Zugang zu sensiblen Daten auf wenige

Mehr

Anleitung zum Homepage-Baukasten

Anleitung zum Homepage-Baukasten Anleitung zum Homepage-Baukasten Zur Hilfestellung sollten Sie diese Seiten ausdrucken. Besuchen Sie auch unsere Muster-Homepage unter http://beispielauftritt.maler-aus-deutschland.de Inhaltsverzeichnis

Mehr

Byte-Taxi. Bedienungsanleitung. Seite 1 von 8

Byte-Taxi. Bedienungsanleitung. Seite 1 von 8 Byte-Taxi Bedienungsanleitung Seite 1 von 8 Inhaltsverzeichnis 1. Beschreibung 3 2. Systemvoraussetzungen 4 3. Installationsanleitung 5 4. Bedienung 6 5. Infos & Kontakt 8 Seite 2 von 8 1. Beschreibung

Mehr

CalenGoo Einführung 1.5.14

CalenGoo Einführung 1.5.14 English Deutsch Start Einführung Konfiguration Support Updates Impressum/Datenschutz CalenGoo Einführung 1.5.14 Einführung Der folgende Text gibt einen Überblick wie CalenGoo bedient wird. Er erklärt die

Mehr

Diese Anleitung zeigt dir, wie du eine Einladung mit Microsoft Word gestalten kannst.

Diese Anleitung zeigt dir, wie du eine Einladung mit Microsoft Word gestalten kannst. Diese Anleitung zeigt dir, wie du eine Einladung mit Microsoft Word gestalten kannst. Bevor es losgeht Wenn du mal etwas falsch machst ist das in Word eigentlich kein Problem! Den Rückgängig-Pfeil (siehe

Mehr

Smartboard: Kurzanleitung

Smartboard: Kurzanleitung Smartboard: Kurzanleitung Smartboard-Zubehör Ein-/ Ausschalten des Smartboards Falls das Smartboard nicht korrekt auf Berührungen reagiert, können Sie es über die Fadenkreuz-Taste neu kalibrieren. Folgen

Mehr

PowerPoint 2010 Videos einfügen und bearbeiten

PowerPoint 2010 Videos einfügen und bearbeiten PP.006, Version 1.0 22.04.2013 Kurzanleitung PowerPoint 2010 Videos einfügen und bearbeiten PowerPoint 2010 weist im Umgang mit Video-Dateien verschiedene Verbesserungen und Erweiterungen auf. Es werden

Mehr

1 Das Windows 10-Startmenü

1 Das Windows 10-Startmenü 1 Das Windows 10-Startmenü Nach dem Start des Computers wird der Desktop (Arbeitsfläche) angezeigt. Da Sie sich Ihr Windows fast nach Belieben einstellen können, sieht Ihr Desktop höchstwahrscheinlich

Mehr

Randziffern in Microsoft Word: Eine Schritt-für-Schritt-Anleitung

Randziffern in Microsoft Word: Eine Schritt-für-Schritt-Anleitung Randziffern in Microsoft Word: Eine Schritt-für-Schritt-Anleitung Einleitung Unzählige Juristen aber mit Sicherheit auch andere Schreibende haben sich schon gefragt, wie man in Microsoft Word Randziffern

Mehr

Leitfaden für die Installation der Videoüberwachung C-MOR

Leitfaden für die Installation der Videoüberwachung C-MOR Dieser Leitfaden zeigt die Installation der C-MOR Videoüberwachung als VM mit der freien Software VirtualBox von Oracle. Die freie VM Version von C-MOR gibt es hier: http://www.c-mor.de/download-vm.php

Mehr