Finale Ausarbeitung MB - Lehrgebiet Kooperative Systeme

Transcription

Finale Ausarbeitung MB - Lehrgebiet Kooperative Systeme
Bachelorarbeit
Geographische Visualisierung von Community-Beiträgen
am Beispiel der Good-Practice Community Patongo
von
Martin Buda
Sonnenstraße 59
97456 Dittelbrunn
Matrikelnummer: 6469981
angefertigt am
Lehrgebiet Kooperative Systeme,
Fakultät Mathematik & Informatik
FernUniversität Hagen
Betreuer:
Dr. Till Schümmer
11.11.2009
1
Zusammenfassung:
Ausgehend von einer konkreten Good-Practice-Community wird in dieser Arbeit
der Wert der Unterstützung von Prozessen der Wissenskommunikation durch
geographische Darstellung von Community-Beiträgen gezeigt. Typische Ziele, wie
z. B. das Auffinden von Verfassern solcher Beiträge in der Nähe, u. a. aufgrund
der schnellen Erfassbarkeit von räumlichen Informationen durch geographische
Visualisierung, intuitiv realisiert werden. Allgemein wird beschrieben, wie
geographische Visualisierung den Umgang mit den Community-Beiträgen und der
Interaktion der Mitglieder unterstützen kann. Als konkretes Beispiel wird dabei
die im Verbundprojekt "Patongo" adressierte Community von haupt- und ehrenamtlichen Mitarbeitern der evangelischen Kirche in Deutschland betrachtet.
Diese Untersuchung bildet die Basis für die Analyse, das Design und die Implementierung einer Anwendung zur Visualisierung von geographisch lokalisierbaren
Beiträgen einer Web-Community. Eine Untersuchung der Funktionalitäten und
Techniken der graphischen Visualisierung in existierenden Web-Anwendungen
zeigt die Möglichkeiten, welche die Community-Mitglieder bei der Exploration
der Beiträge unterstützten. Dabei werden aktuelle Techniken im Rahmen des
Web 2.0 berücksichtigt.
Der Stand der Technik zeigt, dass eine entsprechende Anwendung, die alle Anforderungen der Community berücksichtigt, noch nicht exsistiert. Daher wird in dieser Arbeit eine Anwendung auf der Basis von geographischen Karten entwickelt.
Es werden Userstories entwickelt, welche die Anforderungen der Community-Mitglieder erfüllen. Deren Implementierung erfolgt auf Basis der dafür optimalen
Funktionalitäten.
2
Hiermit versichere ich, dass ich diese Arbeit selbständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt sowie Zitate kenntlich
gemacht habe.
_________________________________
Ort, Datum
_______________________________
Unterschrift
3
1.Inhaltsverzeichnis
1.Einführung....................................................................5
1.1 Motivation der Problemstellung...................................................5
1.2 Definition des Problems............................................................7
1.3 Übersicht über die folgenden Kapitel der Arbeit................................8
2.Anforderungsanalyse .......................................................9
2.1 Detaillierte Untersuchung des Problembereichs................................9
2.2 Zusammenfassung der Anforderungen...........................................18
3.Übersicht über den aktuellen Erkenntnisstand........................20
3.1 Communities im Kontext des Begriffs Web 2.0 ................................20
3.2 Geographische Visualisierung von Community-Inhalten: der aktuelle Stand. 24
3.3 Diskussion der Beispiele in Hinblick auf Wiederverwendbarkeit............34
4.Beschreibung der Lösung..................................................35
4.1 Ableitung der Userstories.........................................................35
4.1.1 Herleitung der notwendigen Datenobjekte...............................35
4.1.2 Userstories zur Erfassung der notwendigen Daten.......................35
4.1.3 Userstories zu den Funktionalitäten der Praxis-Karte...................36
4.2 Allgemeine technische Voraussetzungen für die Lösung......................39
4.3 Konzeptioneller Überblick........................................................40
5.Details zur Lösung .........................................................41
5.1 Wichtige technische Details für die Implementierung.......................41
5.2 Beschreibung verwendeter Techniken...........................................47
5.3 Herleitung der erforderlichen Datenbasis......................................49
5.3.1 Das Datenmodell..............................................................50
5.4 Beschreibung des Benutzerinterface-Designs..................................53
5.5 Besondere Implementierungsdetails............................................64
6.Zusammenfassung .........................................................66
6.1 Kurzfassung des Problems und wie es gelöst wurde...........................66
6.2 Offene Fragen für weitere Abschlussarbeiten..................................66
7.Quellenverzeichnisse......................................................67
7.1 Literaturverzeichnis...............................................................67
7.2 Quellen für Design-Elemente und Teile des Quellcodes......................69
7.3 Abbildungsverzeichnis.............................................................70
4
1.
Einführung
1.1 Motivation der Problemstellung
Im Internet werden Community-Websites, die ihren Benutzern anbieten eigenständig Inhalte zu produzieren, mit anderen zu teilen und über diese zu reflektieren, immer populärer. Beispiele hierzu sind u. a. Seiten wie "Wikipedia1", "YouTube2" oder "flickr3". Dafür wurden Online-Community-Systeme entwickelt, die
die Aufgabe haben, die produzierten Inhalte zu verwalten und den Benutzern zur
Verfügung zu stellen.
Diese Arbeit beschäftigt sich mit der Frage, wie ein solches System die Mitglieder
der Community beim Umgang mit diesen Informationen und bei der Interaktion
mit den anderen Mitgliedern unterstützen kann. Dies wird am Beispiel einer konkreten Community, der haupt- und ehrenamtlichen Mitarbeiter der evangelischen
Kirche in Deutschland (EKD), betrachtet. Ziel dieser Community ist der Austausch
von guten Praktiken, um "die Qualität des Handelns in den Gemeinden und
Gliedkirchen4 zu verbessern" 5. Das Online-Community-System, das im Verbundprojekt "Patongo" entwickelt wird, soll die Kommunikation, Koordination und
Kooperation innerhalb dieser Community unterstützen. Die Idee des Verbundprojekts basiert auf der Weitergabe von Handlungswissen mittels "Patterns"
(auch Handlungsmuster) für Aktivitäten innerhalb der NGO, die auf Grund ihres
Abstraktionsgrades ortsunabhängig durchführbar sein sollen. Die unterschiedlichen Erfahrungen mit diesen Aktivitäten sollen dokumentiert werden und in die
stete Verbesserung der Beschreibung der Handlungsmuster einfließen. Ziel des
Verbundprojekts ist, den Nutzen dieser Art des Wissensaustausches allgemein für
NGOs (Nicht-Regierungs-Organisationen) zu untersuchen5.
"Das Forschungsprojekt PATONGO (Patterns and Tools for NGOs) untersucht,
wie Technologien und Partizipationsprozesse des Web 2.0 den Austausch
über gute Praktiken fördern können und so zu einer Weiterentwicklung der
gesamten vernetzen Organisation beitragen können." [Schuem092009]
Betrachtet man die möglichen Szenarien, die bei der Wissenskommunikation auftreten können, so lässt sich daraus ein Konzept für die Art und Weise der Unterstützung entwickeln:
1 http://de.wikipedia.org/wiki/Main_Page
2 http://www.youtube.com
3 http://www.flickr.com
4 der Begriff "Gliedkirche" entspricht dem der "Landeskirche". ( siehe hierzu [EKD062008])
5 siehe [Schuem092009]
5
1. Ein Mitarbeiter einer Gemeinde möchte ein weiteres Mitglied der Community in seiner Nähe als Ansprechpartner finden.
2. Ein Mitarbeiter einer Gemeinde kennt eine Praxis und sucht nach den
Standorten, an denen sie durchgeführt wurde. Er möchte dann für jeden
Standort den dortigen Ansprechpartner finden.
3. Ein Mitarbeiter einer Gemeinde möchte das Gemeindeleben aktiver gestalten, z.B. zu einem bestimmten Thema (bzgl. eines kirchlichen Festes)
oder um Ideen für mögliche Aktivitäten zur Belebung und Förderung der
Glaubensgemeinschaft zu entwickeln. Dazu informiert er sich über alle
existierenden Praktiken, reduziert diese auf die für ihn interessanten
Praktiken und informiert sich über die dazugehörigen Ansprechpartner in
seiner Nähe.
Zunächst bestimmt man die Objekte, die in diesen Szenarien vorkommen. Dies
sind zunächst Personen, die Mitarbeiter einer Gemeinde sind. Sie sind die potentiellen "Benutzer" des Community-Systems. Ein weiteres Objekt ist die Gemeinde.
Die Gemeinde besitzt einen zentralen Ort (Kirche oder Gemeindezentrum – allgemein bezeichnet als "Institution"), an dem sie sich treffen und gemeinsame Aktivitäten durchführen. Die Community-Mitglieder möchten sich über Praktiken austauschen, die sie in ihren jeweiligen Orten anwenden wollen oder angewendet
haben. Institutionen sind also automatisch auch "Praxisstandorte". Die Benutzer
sind sowohl "Praxis-Anwender" als auch "Autoren", die ihr Handlungswissen über
die Anwendung dieser Praktiken als Beiträge schriftlich niederlegen.
Hieraus ergibt sich die Feststellung, dass die Benutzer des Systems sich über
existierende Praktiken informieren und sich mit anderen Benutzern darüber austauschen wollen. Dazu müssen dem Benutzer sowohl die Informationen über die
Praktiken als auch die über die anderen Mitglieder der Community dem Benutzer
angezeigt und zugänglich gemacht werden. Somit stellt sich nun die Frage
welcher Art die Darstellung dieser Informationen sein sollte, damit der Benutzer
die in den Szenarien beschrieben Ziele auf einfache Weise erreichen kann.
Auffallend ist, dass in allen Szenarien räumliche Begriffe wie "Nähe" oder "Ort"
(der Ansprechpartner) verwendet werden. Weiterhin werden die Praktiken stets
an einem bestimmten Ort angewandt und an die dortigen Umstände angepasst.
Offensichtlich ist auch für die Praktiken der Ortsbezug von Bedeutung.
Um Beziehungen zwischen Objekten od er Inhalten darzustellen bietet sich eine
bildliche Darstellung an. Anders als in fortlaufenden Texten, Listen oder verlinkten Hypertextseiten, kann sich beim Betrachten einer räumlichen verteilten
Darstellung von Inhalten viel schneller eine Vorstellung der Zusammenhänge bilden. Sie muss nicht Stück für Stück selbst erarbeitet werden.
6
"Der Betrachter nimmt Bilder immer als Gesamtheit wahr, während er einen
Text Wort für Wort abtastet und erfasst. [...] Diese Eigenschaft von Bildern
qualifiziert sie, um Zusammenhänge darzustellen: Während das Bild simultan eine Situation präsentiert, kann der Text sie nur nach und nach entwickeln." [JanSchar1999]; S. 72
Bei allen in den Szenarien genannten Orten handelt es sich um Adressen im deutschen Raum, die eindeutig geographisch lokalisierbar sind. Prädestiniert für die
bildliche Darstellung räumlicher Bezüge von Objekten mit eindeutigen geographischen Adressen ist die Visualisierung mittels einer geographischen Karte.
Sie ermöglicht, bezogen auf den konkreten Fall, die direkte Lokalisierung von
Institutionen und bildet damit auch direkt die räumliche Verteilung der Standorte der Community-Mitglieder, also aller potentiellen Ansprechpartner, ab. Die
Tatsache, dass geographisches Kartenmaterial an sich noch weitere, wichtige Informationen enthält, die bei rein textbasierter Auflistung von Beiträgen nicht
vorhanden sind, spricht ebenfalls für deren Einsatz. Bei Straßenkarten sind die
Zusatzinformationen klar ersichtlich. Die Frage "Wo finde ich in meiner Nähe
einen Ansprechpartner?" lässt sich direkt ablesen. Vor allem bei kleinen Maßstäben findet der Benutzer, vor allem wenn er sich in seinem Umkreis befindet,
recht schnell ihm bekannte Landmarken, da zumindest die Straßenkartendarstellung der Umgebung des Wohnortes den meisten Benutzern bekannt sein dürfte.
Diese Wiedererkennung bekannter Strukturen der physischen Umgebung erhöht
den Realitätsbezug, erzeugt ein "Sich zu Hause fühlen" und fördert damit die Akzeptanz der Darstellung bzw. Anwendung. Diese informelle Erleichterung fällt vor
allem im Vergleich mit lediglich listenbasierten Darstellungen auf. Aber auch die
topologischen Aspekte von Karten sind z. B. für die Organisation von Außenaktivitäten von Nutzen. Beispiele für die Nützlichkeit dieser implizit vorhandenen Informationen finden sich im Kapitel 3.
Auf der Basis dieser Betrachtung kann nun die konkrete Problemstellung der
Arbeit formuliert werden.
1.2 Definition des Problems
Diese Arbeit fokussiert nun auf die Frage der Art und Weise, wie die Community
-Beiträge dargestellt werden sollen, damit die Mitglieder ihre Ziele im Rahmen
der Wissenskommunikation effizient erreichen können. Dabei soll die Durchführbarkeit der Szenarien gewährleistet sein. Eine vertiefte Analyse des Problembereichs des Konzeptes sollte die Nützlichkeit der geographischen Darstellung
belegen und in der Formulierung von Anforderung an die zu entwickelnde Applikation resultieren.
7
1.3 Übersicht über die folgenden Kapitel der Arbeit
Im nächsten Abschnitt wird der überall verwendete Begriff des Web 2.0 und dessen Bedeutung für diese Arbeit vorab erklärt.
Im folgenden Kapitel 2. werden die Szenarien detaillierter analysiert und notwendige Begrifflichkeiten und Hintergrundinformationen erläutert, die für die
Anforderungsanalyse relevant sind. Ergebnis ist eine Zusammenfassung von
Anforderungen an die Anwendung.
In Kapitel 3. wird der Stand der Technik beschrieben.
Kapitel 4. beschreibt die Lösung der Problemstellung. Dabei werden aus den Anforderungen umsetzbare Userstories abgeleitet.
Kapitel 5. stellt die Details der Implementierung der Userstories vor. Es werden
die notwendigen Techniken beschrieben und deren Einsatz in der Anwendung.
Die Beschreibung der Implementierung teilt sich in die Beschreibung des Datenmodells und der Umsetzung der Benutzeroberfläche.
In Kapitel 6. findet die Zusammenfassung der Ergebnisse sowie die Benennung
von möglichen Themen für anschließende Arbeiten statt.
8
2.
Anforderungsanalyse
2.1 Detaillierte Untersuchung des Problembereichs
Zunächst werden die Szenarien aufgeführt und die während der bereits in Kapitel 1.1 erfolgten grobe Analyse ermittelten Erfordernisse als Anforderungen
formuliert.
1. Ein Mitarbeiter einer Gemeinde möchte ein weiteres Mitglied der Community in seiner Nähe als Ansprechpartner finden.
2. Ein Mitarbeiter einer Gemeinde kennt eine Praxis und sucht nach den
Standorten, an denen sie durchgeführt wurde. Er möchte dann für jeden
Standort den dortigen Ansprechpartner finden.
3. Ein Mitarbeiter einer Gemeinde möchte das Gemeindeleben aktiver gestalten, z. B. zu einem bestimmten Thema (bzgl. eines kirchlichen Festes)
oder um Ideen für mögliche Aktivitäten zur Belebung und Förderung der
Glaubensgemeinschaft zu entwickeln. Dazu informiert er sich über alle
existierenden Praktiken, reduziert diese auf die für ihn interessanten
Praktiken und informiert sich über die dazugehörigen Ansprechpartner in
seiner Nähe.
Anforderung 1:
Aus dem Ziel des Benutzers, Ansprechpartner "in seiner Nähe" zu finden resultiert die Anforderung:
A1. Geographische Bezüge müssen in der Darstellung leicht ersichtlich sein.
Anforderung 2:
Ziel der betrachteten Community ist es die Handlungskompetenz der Mitglieder
zu fördern Daher ist die Community auch eine Lerngemeinschaft, die kooperativ
gemeinsames Wissen erarbeitet und deren Mitglieder sich gegenseitig beim
Lernen unterstützen. Um eine solche soziale Interaktion innerhalb der Community
zu fördern ist die Erzeugung und Verstärkung eines Gruppenbewusstseins erstrebenswert. Die Wahl der geographischen Darstellung unterstützt diesen wichtigen Prozess. Durch hervorgehobenes Markieren des Standortes des Benutzers
erfolgt eine optische Verortung in der Gemeinschaft, die auch eine emotionale
Verortung innerhalb der Community nach sich ziehen kann.
A2. Der Benutzer soll sich optisch innerhalb der Gemeinschaft verorten
können.
9
Anforderung 3:
Für die Mitglieder ist es außerdem von Interesse, wie weit eine Praxis verbreitet
ist, z. B. um abzuleiten wie erfolgreich sich eine Praxis anwenden lässt.
A3. Die Verteilung der Institutionen, an denen eine einzelne Praxis angewendet
wurde, soll erkennbar sein.
Einschub: Wichtige Aspekte von Informationsvisualisierung
Jenseits dieser ortsbezogenen Anforderungen sind ebenso nicht-geographische
Inhaltliche Aspekte der Praktiken zu berücksichtigen. Szenario 3. beschreibt die
Absicht des Benutzers sich über die vorhandenen Praktiken zu informieren. Dabei
sucht er nicht gezielt nach einer Praxis, sondern versucht durch Eingrenzung der
Praktiken, die für ihn relevanten heraus zu filtern. Die hier beschriebene Vorgehensweise des Informations-Selektion wird auch als "Exploration" bezeichnet,
also das Erkunden der vorhandenen Praktiken. Der Begriff "Exploration" lässt sich
am deutlichsten im Unterschied zum Begriff "Suche" erläutern. In [BluPel2009]
werden die unterschiedlichen Ziele von suchenden bzw. explorierenden Benutzern von Anwendungen, zu welchen die im Zitat genannten Autoren und Akteuren
gehören, wie folgt beschrieben:
"Neben der anlassorientierten Suche mittels Google und ähnlicher traditioneller Suchmaschinen entsteht bei Autoren und Akteuren zunehmend das
Bedürfnis, sich ihre Netzwerkumgebung und bestimmte Bereiche aus der Vogelperspektive zu betrachten und systematisch zu erkunden." [BluPel2009];
S. 313
Ziel der Suche ist also das Finden von Informationen, von welcher der Suchende
bereits weiß, dass sie existieren. Die Exploration einer Informationsdomäne soll
dem Akteur jedoch den Aufbau eines mentalen Modells der Domäne ermöglichen.
Diese Vorgehensweise soll die geplante bildliche Darstellung ebenfalls unterstützen. Verallgemeinert betrachtet besteht also das Problem der visuellen Exploration von Inhalten und deren Reduzierung. Dies ist das Thema des Forschungsbereich Informationsvisualisierung. Hier werden Lösungen zur Darstellung von
strukturierten Informationen untersucht, weshalb zunächst eine allgemeine Einführung in diesen Bereich erfolgt.
Es wird zuerst der allgemeinere Fall der Visualisierung von Informationen mittels
nicht-geographischen Karten und Diagramme betrachtet, um die notwendigen
Grundprinzipien zu erläutern.
Die Informationsvisualisierung soll bei der Exploration von unbekannten Begriffsdomänen unterstützen. Dazu muss zunächst eine virtuelle Struktur der Domäne
aufgebaut werden, die u. a. die wichtigsten Schlagwörter und Kategorien ent-
10
hält. Diese wird so dargestellt, dass der Benutzer die für ihn wichtigen Informationen einfach erkennen kann und dass eine einfache Navigation innerhalb der
Darstellung möglich ist:
"The outcome for structural modelling is a virtual structure. It is this virtual structure that information visualisation aims to reveal to users in a
graphical and visually understandable form." [Chen2006]; S. 34
Die Wahl von Graphiken zur Darstellung beliebiger (auch abstrakter) Informationen
begründet sich in der Eigenschaft solcher Darstellungen Strukturen und Zusammenhänge auf einen Blick sichtbar machen zu können. Zur deutlichen Differenzierung grenzt man die dargestellten Elemente und deren Werte voneinander ab.
Z. B. unterscheidet man bei Infographiken laut [JanSchar1999]; S. 72 zwischen
drei grundlegenden Arten: die Prinzipdarstellungen, die geographischen Karten
und die Bildstatistiken. Während erstere abstrakte Strukturen wie z. B. Organigramme darstellen, basieren die Karten konkret auf existierenden topologischen
Formen. Letztere Art veranschaulicht meist relative Wertigkeiten von Elementen, die entweder als Bild, Piktogramm oder nur durch einen Begriff beschrieben
werden.
Ontologien z. B. können so als Struktur direkt abgebildet und erkannt werden.
Dabei sind die darzustellenden Elemente die in der Ontologie enthaltenen Begriffe. Sie haben als Wert die Häufigkeit der Verwendung oder aber die Relevanz
in Bezug auf die Thematik der Ontologie. Wie oben bereits erwähnt, können diese semantische Zusammenhänge am besten durch graphische Darstellungen
räumlich verteilter Objekte erreicht werden. Im Gegensatz zu textbasierten Darstellungen ermöglichen sie dem Betrachter wesentlich direkter das Erstellen einer mentalen Landkarte. Diesen Effekt nutzen auch Mind-Maps, die u. a. in kooperativen Anwendungen in Brainstorming-Sitzungen angewendet werden, um
Ergebnisse zu dokumentieren und zu strukturieren1. Dabei werden die gesammelten Begriffe in Form eines Graphen mit Kanten verbunden, die wiederum mit assoziativen Floskeln beschriebenen sind (Künstler schafft ein> Kunstwerk). Direkt
abzuleitende also semantisch nahe Begriffe liegen somit auf benachbarten Knoten.
Auf gleichem Prinzip basierende Darstellungen nutzen auch die in [Chen2006] beschriebenen Visualisierungsmethoden. Bei einigen Darstellungen entspricht dabei
die räumliche Nähe der semantischen Nähe der zu strukturierenden Begriffe.
Konkreten Einsatz finden solche Visualisierungen u. A. in zunächst als Suchmaschine ausgelegten Anwendungen wie die in [Foen032006] beschriebene
http://www.kartoo.com. Diese Meta-Suchmaschine bietet einen graphischen
Suchmodus an, dessen Funktion schon sehr nahe an eine Oberfläche zur Exploration eines Themenbereichs herankommt (siehe Abb. 2.1.1). Der Ausgangspunkt
ist hier der eingegebene Suchbegriff. Dieser ist die Wurzel des Suchbaums, der
1 siehe auch hierzu: [LukCSCW07] S.31 Kapitel 1.10.1
11
dann graphisch dargestellt wird. Zum Suchbegriff gefundene Unterbegriffe werden in Form einer verteilten Karte dargestellt und können zur Verfeinerung einer
erneuten Suche übernommen werden. Diese Begriffe leiten weiter zu Knoten,
welche die Internetseiten präsentieren, zu denen beim Überstreichen mit der
Maus ein Informations-Fenster (in Form eines Flyouts) kurze Inhaltsangaben angezeigt. Ein Klick auf die Knoten öffnet die Seiten in einem neuen Fenster. Ziel
ist es den Nutzer durch die Gewichtung der Seiten und Angebote für einschränkende Unterbegriffe bei der Optimierung seiner Suchstrategie zu unterstützen.
Abbildung 2.1.1: Ergebnis-Visualisierung bei www.kartoo.com
Neben der räumlichen Verteilung kann auch die Größe der Fläche eines Objektes
zu Visualisierung von ihm immanenten Werten genutzt werden. So z. B. realisiert
in der Darstellung eines Dateisystems mit Hilfe einer TreeMap1. Der Speicherbedarf einer Datei innerhalb eines Ordners wird dabei prozentual zum gesamten
Speicherplatz angezeigt. Der gesamte Speicherplatz entspricht einem Rechteck
maximal möglicher Fläche. Jede Datei ist ein darin enthaltenes weiteres Rechteck, dessen Größe dem prozentualen Anteil am Gesamtspeicherplatz entspricht.
Gleichzeitig wird, wie der Name TreeMap bereits andeutet, eine Hierarchie der
Dateien abgebildet. Anders als bei der Darstellung als bei aufklappbaren, listenähnlichen Darstellungen wie beim Datei-Browser von Microsoft-Windows bedeutet hier das Enthalten-sein einer Fläche B in einer Fläche A die Unterordnung
von B unter die hierarchische Ebene von A.
1 siehe: [Chen2006], S. 92
12
Diese zwei Beispiele zeigen den Weg der Visualisierung. Die wichtigen räumlichen Objektverteilungen oder Objekt-Werte werden durch die direkt wahrnehmbare räumliche Visualisierung dargestellt und durch die Nutzung der räumlichen und graphischen Variablen Größe, Form und Richtung hervorgehoben.
Andere vorhandenen Werte können zunächst nur durch die verbleibenden nichträumlichen graphischen Variablen Muster, Farbe oder Dunkelwert dargestellt
werden. Eine weitere Möglichkeit besteht darin den werttragenden Objekten zusätzliche Piktogramme zuzuordnen1, die dann den entsprechenden Wert in Form
z. B. eines Längenmaßes anzeigen. Dies erhöht die Vergleichbarkeit der Werte
gegenüber einer wertekorrellierten Farbabstufung bzw. Strukturierung oder einer
Darstellung als Zahl, die zunächst mental interpretiert und zueinander ins Verhältnis gesetzt werden müssten.
Die Besonderheiten der geographischen Attribute
Bei der Verwendung von topologischen Karten fallen die räumlichen, graphischen
Variablen als Möglichkeit zur Wertdarstellung weg. Die geographischen Attribute
beinhalten bereits die Werte einer räumlichen Verteilung und/oder einer räumliche Ausdehnung der dargestellten Objekte. Abbildung 2.1.2 zeigt eine Illustration, in der die relative Größe der Kontinente und Länder entsprechend der darzu-
Abbildung 2.1.2: Wertabhängige Verzerrung der Weltkarte bei www.Worldmapper.com
stellenden Werte variiert wird. Dies führt zu einem Aussehen ähnlich einer Karikatur, das nur auf Grund der dem Betrachter bereits bekannten normalen Umrisse der Weltkarte zur Wiedererkennung derselben führt (siehe Abb. 2.1.2)
1 siehe: [Chen2006], S. 186
13
Solche Verformungen sind in normalen geographischen Darstellungen nicht hilfreich. Wie bereits in der Diskussion über die Einsetzbarkeit von graphischen Variablen erwähnt, können damit nur noch zwei Wege zur weiteren Informationsvisualisierung gegangen werden. Sind weitere, räumlich fixe Informationen wie z.
B. Straßenverläufe oder Oberflächenreliefs irrelevant, so können den geographischen Flächen mittels Farbabstufungen Werte zugewiesen werden. In den meisten Fällen jedoch sind bereits weitere, vor allem farblich verschiedene Objekte
auf den Karten vorhanden (Straßenkarten). Daher bleibt nur noch der 2. Weg,
der des Abbildens weiterer Information tragender Objekte.
Problematisch wird die Darstellung bei einer sehr großen Anzahl von Informationen. Daher muss dem Benutzer die Möglichkeit gegeben werden, die Zahl der Informationen zu reduzieren. Dieser Vorgang ist Teil der Exploration. Diese folgt
einem "Mantra", wie es in der viel zitierten Arbeit [Shneid121999] beschrieben
wird und grundlegend für jede Exploration unterstützende Oberfläche ist (im
Weiteren als "Seeking-Mantra" bezeichnet):
"There are many visual design guidelines but the basic principle might be:
summarized as the Visual Information Seeking Mantra:
Overview first, zoom and filter, then details-on-demand" [Shneid121999];
S.2
Resultate aus den Betrachtungen zur Informationsvisualisierung
Ausgehend von diesen Betrachtungen und unter Berücksichtigung des SeekingMantras folgen daraus weitere Anforderungen. Dabei wird die Relevanz der Forderungen aus dem Mantra für die Szenarien geprüft.
Anforderung 4:
Zunächst einmal wird die Darstellung eines Überblicks (Overview) über die vorhandenen Informationen gefordert. Dies entspricht der Ausgangssituation des
Szenarios 3.
A4. Alle Praktiken und Institutionen sollen angezeigt werden können.
Anforderung 5:
Als nächstes soll eine Reduzierung der angezeigten Informationen möglich sein.
Dies gilt sowohl für die geographischen als auch für die nicht-geographischen Informationen, also Informationen, die auf den Inhalten der Praxisbeschreibungen
beruhen. Für den Benutzer bedeutet dies zunächst, wie in Szenario 3, dass er die
Praktiken inhaltlich reduzieren kann.
A5. Die Anzahl der dargestellten Praktiken soll durch inhaltliche Filter
reduziert werden können.
14
Anforderung 6:
Die räumliche Dimension soll ebenfalls filterbar sein. Der Benutzer soll also, wie
in allen drei Szenarien beschrieben, die Ansicht auf die Institutionen und Praktiken in einem geographischen Gebiet reduzieren können. Dieses Gebiet ist zum
einen die Umgebung innerhalb eines Umkreises um seinen Standort:
A6. Die Anzahl der dargestellten Praktiken soll durch entfernungsbezogene
Eingrenzung der Umgebung des Benutzerstandortes reduziert werden
können.
Anforderung 7:
Der zweite geographische Filter basiert auf Regionen. Bei der Informationsvisualisierung werden, wie beim TreeMap1 beschrieben, Werte durch die Größe von
Gebieten dargestellt. Dabei werden zweidimensionale Hierarchien abgebildet.
Einzelne Flächen können somit direkt selektiert werden. Das gleiche Prinzip kann
bei der Darstellung von geographischen Gebieten nutzen. Beispielsweise können
die Gebiete zunächst durch Landesgrenzen dann durch Gemeindegrenzen und
schließlich durch Stadtgrenzen hierarchisch unterteilt werden. Dies bietet eine
weitere Möglichkeit zur Reduzierung der Praktiken an.
A7. Die Anzahl der dargestellten Praktiken soll durch Auswahl einer hierarchisch
geordneten Region reduziert werden können.
Anforderung 8:
Als dritter Schritt des Seeking-Mantras sollen "details-on-demand" visualisiert
werden. Konkret bedeutet dies die Anzeige der zusätzlichen Informationen zu einer Institution, die gleichzeitig ein Praxisstandort ist. Das heißt, es sollen auch
Informationen im Kontext der dort angewandten Praktiken angezeigt werden. Im
Weiteren werden diese Informationen als "sekundäre Informationen" bezeichnet.
A8. Zu den Institutionen können sekundäre Informationen angezeigt werden.
Anforderung 9:
Der letzte Aspekt, der bei der Filterung zu beachten ist, ist die Bedienung der
Filterelemente. Bei Untersuchungen des Bedienverhaltens von Benutzern von Informationsvisualisierungs-Software wurde beobachtet, dass die Benutzer meist
zum Ausgangspunkt der Suche, also der Übersicht, zurückkehren, falls sie durch
zu viele Einschränkungen in einem Zustand angekommen sind, die Ihren Vorstellungen nicht entspricht. Nur selten gehen die Benutzer schrittweise zurück.
1 siehe: [Chen2006], S. 92
15
„Dillon et al. (1990) points out that when users navigate through an abstract structure such as a deep tree, if they select wrong options at a deep
level they tend to return to the top of the tree rather than just take one
step back.“ [Chen2006] S. 22
Daher wird die Möglichkeit des Zurücksetzens aller Filtereinstellungen gefordert.
A9. Es muss die Möglichkeit bestehen wieder zur Übersicht ohne aktive Filter
zurückzukehren.
Betrachtung der sozialen Aspekte der Online-Community
Bisher wurde der Aspekt der Community als Gemeinschaft von Gleichgesinnten
bzw. als Gruppe von Lernenden noch nicht betrachtet. Dies liefert weitere Hinweise auf notwendige Anforderungen.
Als Ausgangspunkt dazu sind die Erkenntnisse der Untersuchungen zur Motivation
eines Benutzers, sich in Online-Gemeinschaften zu engagieren. Dabei berücksichtigt man die Dimension des Benutzers als soziales Wesen.
„Gruppenbildung. Prozeß, während dessen sich aus einer Mehrzahl oder bloßen Ansammlung von Individuen eine Gruppe bildet. Voraussetzung für das
Entstehen von Gruppen sind: 1) Die Motivation der Individuen, sich in einer
Gruppe anzuschließen […]; 2) Kommunikation bzw. Kontkt unter den Individuen (erleichtert durch räumliche Nähe oder allg. geringe soziale Distanz);
3) Eindruck der gegenseitigen Anerkennung der einzelnen Individuen.“[Arnold1988]; S.818
Voraussetzung für die Erstellung von Applikationen für Online-Communities, die
in [PorEng2008] untersucht wird, ist die Erkenntnis, dass Internet-Benutzer versuchen im Netz den selben Bedürfnissen nachzukommen, wie in der realen Welt:
"Menschen setzen Software ein, um genau dieselben Dinge zu tun, die sie
zuvor auch ohne Software getan haben: miteinander reden, Gruppen bilden,
Ansehen gewinnen, ihr Leben gestalten, Spaß haben." [PorEng2008], S. 14
Anforderung 10:
Soziale Bedürfnisse, hier seinen vor allem die Kommunikation und der Gewinn sozialer Anerkennung mit Hilfe der Selbstdarstellung genannt, werden bei solchen
Software-Systemen durch die Möglichkeit der Veröffentlichung der durch den Benutzer generierten Inhalte erfüllt. Dieses "Ansehen" bezieht sich zunächst auf den
Benutzer persönlich. Die individuelle Partizipation am Verfassen einer Praxisbeschreibung oder gar die Initiation einer solchen kommt diesem Bedürfnis entgegen.
Eine Anzeige der Autorenschaft der Beiträge ermöglicht die persönliche Selbstdarstellung. Gleichzeitig ist der Benutzer auch Teil einer realen Gemeinschaft (Gruppe) einer Institution, konkret der dort ansässigen Gemeinde. Durch die zumeist
16
starke, soziale Einbindung in die Gemeinde und Identifikation mit derselben werden deren Erfolge auch als die persönlichen empfunden. Daher bewirkt eine sich
als sehr aktiv darstellende Gemeinde auch als Selbstbestätigung für deren Mitglieder. Die Anzeige aller Praktiken, die bereits an einer Institution umgesetzt wurden,
hilft im Sinne eines Wettbewerbs eine Institution als aktiver erscheinen zu lassen
als andere. Dies alles lässt sich in folgender Anforderung zusammenfassen:
A10. Die Mitglieder, die an einem Ort Praktiken angewendet haben sowie die
Praktiken selbst sollen für jeden Ort sichtbar gemacht werden.
Anforderung 11:
Ebenso ist eine visuelle Präsentation der Institution z. B. in Form eines Bildes der
Kirche bzw. des Ortes für die Community-Mitglieder von Interesse. Sie ermöglicht
und fördert beim Betrachter eine wesentlich konkretere Vorstellung und damit
konkreteren Bezug zum realen Umfeld der Mitglieder der jeweiligen Institution.
Dies fördert den persönlichen Bezug des Betrachters zu den dargestellten Institutionen und deren Mitglieder.
A11. Es sollte die Möglichkeit einer visuellen Präsentation der Institutionen
geben.
Anforderung 12:
Ein weiterer Aspekt des Social Web Designs ist die Benutzerzentiertheit. Es wird
auf hohe Benutzbarkeit (Usability) der Web-Applikationen Wert gelegt.Daher
wird darauf geachtet, dass die Benutzeroberfläche intuitiv zu bedienen also für
den Benutzer erwartungskonform gestaltet ist. Die Nutzung eines bekannten
Kontextes bei der Darstellung der Informationen erweist sich als hilfreich, um
dem Benutzer eine Basis zur Orientierung zu geben und so eine intuitive Erfassung der Funktonalität der Darstellung zu ermöglichen. Wie bereits erwähnt erfüllen Straßenkarten dieses Kriterium ohne weiteren Aufwand, da den meisten
Benutzern die kartographische Umgebung von Deutschland, bzw. - detaillierter die Umgebung seines Standortes, bekannt ist.
A12. Dem Benutzer soll durch Darstellung wiedererkennbarer, bekannter
Strukturen eine Orientierungshilfe angeboten werden.
Anforderung 13:
Auswirkungen der Benutzerorientierung des Web Designs für Communities lassen
sich unter anderem an der Wahl der angewandten Techniken ablesen. Technische
Neuerungen und deren Einsatz sollen nicht mehr an sich das Ziel von Weiterentwicklungen sein (was ist alles möglich?), sondern vielmehr deren Nützlichkeit für
die Verbesserungen in der Benutzbarkeit von Anwendungen (was hat es für einen
Nutzen?). Die Notwendigkeiten, die Mängel in deren Gebrauchstauglichkeit führen zu technischen Neuerungen.
17
"The social perspective pushes Web science researchers toward a deep understanding of the information and services users want. The disruptive shift
involves moving away from studying the technology toward studying what
users can do with the technology." [Shneid052007]; S. 1
Soweit dies in Hinblick auf diese Forderung akzeptabel erscheint, können spielerische Momente in explorativen Benutzeroberflächen die Motivation des Benutzers
zur Interaktion erhöhen.
Von großer Wichtigkeit ist die unbedingte Orientierung an der Frage: Hat die Technik effektive unterstützende Funktion oder ist sie eher eine zu große Behinderung
oder Ablenkung von der eigentlichen Funktionalität?
A13. Eine leichte Erkennbarkeit bzw. Auffindbarkeit der Bedienelemente
und Funktionalitäten soll die Richtlinie für die Benutzeroberfläche sein.
Allerdings soll das spielerische Moment, das zur Exploration motiviert
nicht zu kurz kommen.
2.2 Zusammenfassung der Anforderungen
Folgende Anforderungen werden nun an die Anwendung gestellt:
A1. Geographische Bezüge müssen in der Darstellung leicht ersichtlich sein.
A2. Der Benutzer soll sich optisch innerhalb der Gemeinschaft verorten können.
A3. Die Verteilung der Institutionen, an denen eine einzelne Praxis angewendet
wurde, soll erkennbar sein.
A4. Alle Praktiken und Institutionen sollen angezeigt werden können.
A5. Die Anzahl der dargestellten Praktiken soll durch inhaltliche Filter reduziert
werden können.
A6. Die Anzahl der dargestellten Praktiken soll durch entfernungsbezogene Eingrenzung der Umgebung des Benutzerstandortes reduziert werden können.
A7. Die Anzahl der dargestellten Praktiken soll durch Auswahl einer hierarchisch
geordneten Region reduziert werden können.
A8. Zu den Institutionen können sekundäre Informationen angezeigt werden.
A9. Es muss die Möglichkeit bestehen wieder zur Übersicht ohne aktive Filter zurückzukehren.
A10. Die Mitglieder, die an einem Ort Praktiken angewendet haben sowie die
Praktiken selbst sollen für jeden Ort sichtbar gemacht werden.
A11. Es sollte die Möglichkeit einer visuellen Präsentation der Institutionen geben.
18
A12. Dem Benutzer soll durch Darstellung wiedererkennbarer, bekannter Strukturen eine Orientierungshilfe angeboten werden.
A13. Eine leichte Erkennbarkeit bzw. Auffindbarkeit der Bedienelemente und
Funktionalitäten soll die Richtlinie für die Benutzeroberfläche sein. Allerdings soll das spielerische Moment, das zur Exploration motiviert nicht zu
kurz kommen.
Die wichtigsten Anforderungen werden auf dem Hintergrund der geographischen
Karte betrachtet, und somit wird belegt, dass diese Darstellung den Anforderungen genügt (Abb. 2.2.1).
Abbildung 2.2.1: Erfüllung der Anforderungen durch geographische Karten
19
3.
Übersicht über den aktuellen Erkenntnisstand
Im Folgenden wird zunächst der Begriff Web 2.0 und einige relevante Web 2.0Techniken erläutert und anschließend werden aktuelle Anwendungen aus diesem
Bereich der Webanwendungen, die benutzergenerierte Inhalte geographisch darstellen, vorgestellt.
3.1 Communities im Kontext des Begriffs Web 2.0
Dieser Abschnitt behandelt den Begriff Web 2.0, da er direkten Bezug zum Thema Online-Communities hat. Das Web 2.0 wird u. A. auch als das "Mitmach-Web"
bezeichnet, was die Beteiligung der Web-Benutzer unterstreichen soll. Auch das
Verbundprojekt Patongo reiht sich in die Anwendungen, die sich den Web 2.0-Errungenschaften bedienen, ein. Explizit wird in der Beschreibung des Verbundprojekts auf die Verwendung von Web 2.0 Technologien hingewiesen, die schon für
andere Funktionalitäten im Bereich von Online-Communities zum Einsatz gekommen sind und deren Nutzung einer guten Benutzerfreundlichkeit dienen sollen.
"Web 2.0-Technologien können auf allen drei Ebenen den Prozess unterstützen. Dazu soll ein Online-Community-System entstehen, das Kommunikation, Koordination und Kooperation in der Community unterstützt und an die
Bedürfnisse der Beteiligten angepasst wird. Dadurch soll sichergestellt werden, dass die Nutzung so intuitiv wie möglich gestaltet wird "
[Schuem092009]
Die im Weiteren kompakt vorgestellten Begriffe und Konzepte tauchen verteilt in
der Arbeit immer wieder auf und werden deshalb hier zusammenhängend erklärt.
Die Vielschichtigkeit des Begriffs resultiert aus dessen unscharfer, weil uneinheitlicher Definition.
"Als die Webpioniere Tim O'Reilly und Dale Dougherty im Herbst 2004 den
Begriff Web. 2.0 prägten, [...] ließ sich kein auch nur ansatzweise klares
Gesamtbild [der dadurch beschriebenen Veränderungen] ableiten." [Fried2009]; S. 33
Der Begriff lässt sich nur unter Berücksichtigung des sich um ihn entwickelten
begrifflichen Kontextes erfassen1. Dabei sind vier Begriffskomplexe von besonderem Interesse. Begriffe wie "Participation", "Sozial Software" fokussieren auf die
Bedürfnisse und Motivationen der das Web nutzenden Personen und auf deren Art
und Weise es zu nutzen. Die Benutzer versuchen im Netz den selben Bedürfnissen nachzukommen, wie in der realen Welt:
1 siehe prominenteste Schlagwortsammlung von Markus Angermeier:
http://nerdwideweb.com/web20/index.html#web20en
20
"Menschen setzen Software ein, um genau dieselben Dinge zu tun, die sie
zuvor auch ohne Software getan haben: miteinander reden, Gruppen bilden,
Ansehen gewinnen, ihr Leben gestalten, Spaß haben." [PorEng2008], S. 14
"Blogs", "Wikis" beschreiben z. B. die Funktionalitäten, die zur Erfüllung der Bedürfnisse eingesetzt werden. "Usability" und "OpenAPIs" gehören zum Begriffskomplex der technischen Eigenschaften und deren Einsatz. Schließlich existiert
noch der Bereich der ökonomischen Nutzung des Netzes zu dem u. a. Begriffe
wie "Long Tail" und "Vertrauen" gehören.
Viele Techniken und Konzepte die als ausschlaggebend für den Erfolg des
Web 2.0 genannt wurden waren bereits vorher existent. Einer der elementaren
Grundlagen, damit im Rahmen des Web 2.0 all diese Merkmale umgesetzt werden können, ist die Verbesserung der Infrastruktur, die den Benutzern des
Web 2.0 den Zugang zum Netz ermöglichen. In [Alby2007] wird dargestellt, dass
die Funktionalitäten ohne z. B. die seit 1999 zur Verfügung stehenden BreitbandZugängen (DSL) mit Flatrate-Angeboten nicht effizient hätten umgesetzt und genutzt werden können. Dadurch fehlte der "Benuzter 2.0" der mit Hilfe dieser Techniken die Umsetzung der Web 2.0-Konzepte überhaupt hätte umsetzen können.
"Wenn wir den gegenwärtigen Entwicklungsstand des Web mit der Versionsnummer 2.0 versehen, dann konnte die Version 1.0 nicht fehlerfrei laufen,
[...]. Die Systemanforderungen an das Web 2.0 waren der Benutzer 2.0,
welcher selbst Zugangsgeschwindigkeiten 2.0 und Zugangskosten 2.0 erforderte." [Alby2007]; S. 2
Erst diese Tatsache erlaubt es, die in dieser Arbeit verwendeten Techniken einzusetzen.
1
Die sozialen Elemente und Funktionalitäten des Web 2.0
Bezüglich der sozialen Elemente, die sich für Web 2.0 als charakteristisch herausgebildet haben, sei hier die Betrachtung des Benutzers als soziales Wesen als
Erstes genannt. Standen vor Web 2.0 die Produkte und deren Präsentation im
Vordergrund, so wird im Web 2.0 der Benutzer, dessen soziale Bedürfnisse und
vor allem dessen Meinung immer wichtiger. Soziale Bedürfnisse, hier seinen vor
allem die Kommunikation - das "miteinander Reden", wie oben Zitiert - und der
Gewinn sozialer Anerkennung mit Hilfe der Selbstdarstellung (z. B. Textbeiträge
in Foren oder selbst erstellte Videos) genannt, werden im Internet durch die
Möglichkeit der Veröffentlichung dieser Inhalte erfüllt. Auch die Eigendarstellung
mittels einer eigenen Homepage gehört dazu. Auch kommerzielle Anbietr haben
die Mitteilungsbedürftigkeit ihrer Kunden erkannt und unter dem Label Web 2.0
darauf reagiert. Daher haben sich Funktionalitäten wie z. B. Ratings und die
Möglichkeit zur Rezension von Produkten1 herausgebildet, sowie die Funktionalität
1 siehe z. B. http://www.amazon.com/
21
Hinweise über interessante Produkte Freunden direkt mitzuteilen. Diese Funktionalitäten fördern außerdem die soziale Vernetzung der Benutzer sowie das Gefühl des sozialen Eingebundenseins. Aus kommerzieller Sicht soll dies dem Ziel
einer stärkeren Kundenbindung dienen.
"Ging es vor wenigen Jahren überwiegend um die präsentierten Inhalte, so
geht es heute ebenso darum, die Informationen attraktiv zu gestalten und
die Webbesucher durch interaktive Online-Plattformen und Dienste zum Informationsaustausch und zur Mitgestaltung zu animieren." [Fried2009]; S.
28
Das gesamte Web als solches ist also ein Gemeinschaftswerk der Internet-Community. In Grundzügen war dies auch die ursprüngliche Aufgabe des Internets in
seinen Anfängen als ARPANET, zumindest was die Kommunikation angeht. Diese
im Laufe der Zeit unübersichtlich gewordene Menge an gemeinsam geschaffenen
Inhalten werden durch Funktionalitäten wie das "Tagging", also das Verschlagworten der Inhalte, gemeinschaftlich strukturiert. Ihr Hauptmerkmal ist die Tatsache, dass sie nicht analytisch-wissenschaftlich erstellt werden. Das Tagging
wird von allen Community-Anwendungen angeboten, die eine große Menge von
Community-generierten Daten verwalten. Als Beispiele seien hier http://www.youtube.com oder auch http://www.flickr.com genannt. Eine weitere Art der gemeinschaftlichen Strukturierung ist das Anlegen von Themen bezogenen Sammlung von Links (z. B. http://www.mister-wong.de , http://www.delicious.com).
Auch hier werden die Themen verschlagwortet. Bei "mister-wong" werden diese
als "Tag-Clouds" dargestellt, bei denen besonders häufig auftretende oder als besonders relevant eingestufte Begriffe durch geänderte graphische Variablen1 wie
Farbe und Größe aus der Menge der weniger gewichtigen Begriffe hervorgehoben
werden.
Im Laufe der Entwicklung des Internets seit 2000 entstanden aus diesen Erkenntnissen heraus mehr und mehr Seiten, deren primäre Inhalte sich direkt an die
Bedürfnissen der das Internet nutzenden Menschen richten und nur sekundär
kommerzielle Inhalte z. B. in Form von Werbebanner präsentieren. Beispiele
hierfür sind die Social Community Websites wie Wer-Kennt-Wen.de, Twitter.com,
StudiVZ.de etc., die den Wunsch nach Zugehörigkeit und Kommunikation innerhalb von Gemeinschaften gleichgesinnter unterstützen.
2
Relevante Web 2.0-Techniken
Im Laufe der Entwicklung des Internets seit 2000 entstanden mehr und mehr Seiten, deren primäre Inhalte sich direkt an die Bedürfnissen der das Internet nutzenden Menschen richten und sekundäre kommerzielle Inhalte z. B. in Form von
1 siehe [JanSchar1999], S. 152
22
Werbebanner präsentieren. Beispiele hierfür sind die Social Community Websites
wie WKW, Twitter, StudiVZ etc., die den Wunsch nach Zugehörigkeit und Kommunikation innerhalb von Gemeinschaften gleichgesinnter unterstützen.
Es zeigt sich hierin die zentrale Wichtigkeit der Berücksichtigung sozialer Interaktion für den Entwurf von Web-Anwendungen, die, wie in [PorEng2008] weiter
ausgeführt wird, auf "sozialen Objekte" fokussieren, "[...] die soziale Aktivitäten
auslösen" [PorEng2008]; S. 52. Haupteigenschaft dieser Objekte sollte sein, dass
ein direkter Zugriff darauf möglich ist und somit Verweise darauf innerhalb einer
sozialen Gemeinschaft verteilt werden können. Dies hat direkten Einfluss auf die
Datenverwaltung der Applikation (s. u.). Es könnte in Folge dessen auch an eine
mögliche Einbindung einer bereits genannten "Sharing"-Funktionalität (im Sinne
von "mit-teilen") gedacht werden. Sie ist mittlerweile Standard auf allen erfolgreichen Seiten1
Die "Mash-Up"-Technologie nutzt diese Möglichkeit des direkten Zugriffs auf Daten. Mash-Ups sind eine der wichtigsten Funktionalitäten im Web 2.0. Basis der
Technologie sind Web-Services mit einer öffentlich zugänglichen Schnittstelle.
Viele Web-Plattformen bieten mittlerweile solche Services an und veröffentlichen APIs, die die angebotenen Daten spezifizieren und die Anfrage-Parameter
definieren, mit denen man auf die zur Verfügung gestellten Daten zugreifen
kann. Zur Parameterübertragung werden Standard-Übertragungsprotokolle wie
z.B. SOAP2 genutzt, das jedoch wg. seiner Komplexität mehr und mehr in den
Hintergrund tritt. Mittlerweile gibt es vermehrt Services, die auf der REST-Architektur3 (Representational State Transfer) aufbauen4. Solche Services werden auch
als "RESTfull Services" bezeichnet. Setzt man diese Architektur im Rahmen des
HTTP-Protokolls ein nutzt man vollständig die Verben des HTTP-Protokolls. Das
Standardverb GET, das standardmäßig von einem Client zum Abrufen einer Seite
an den Server gesendet wird, bietet die Möglichkeit des direkten Zugriffs auf
eine Ressource. D. h. die Anfrage nach einer Ressource ist eine einfache URL mit
angehängten Parametern, was die Programmierung enorm erleichtert. Die Parameter entsprechen dabei dem Standard für diese Schnittstelle.
1 vergl. auch Produkt-Detailbeschreibungen auf den Seiten http://www.amazon.com/ ,
http://www.ebay.com/ oder http://www.YouTube.com/
2 Standard: http://www.w3.org/tr/soap
3 Eingeführt durch Roy Fielding:
http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
4 Vergleiche: http://www.programmableweb.com/apis/directory/ (1044 APIs mit REST basierenden Services und nur 308 Services mit SOAP)
23
3.2 Geographische Visualisierung von Community-Inhalten: der
aktuelle Stand
Ausgehend von dem Grund des Entstehens einer Community sind die Themen der
Commuinities und damit die Inhalte, die die Mitglieder zum gemeinschaftlichen
Datenpool beitragen extrem unterschiedlich. Die Inhalte reichen von alltäglichen
Beiträgen zu aktuellen Themen bis zu sozial hoch relevanten Sammlungen von
Informationen die teilweise die Basis von kommunalen bis hin zu politischen Entscheidungen bilden. Dabei sind die Formate der Beiträge größtenteils identisch.
Es sind Textbeiträge in Wikis oder Blogs, Bilder und andere multimediale Formate.
Im Vergleich zu der in dieser Arbeit betrachteten Community sind vom Inhalt her
die Wikipedia-Beiträge wohl am ähnlichsten. Diese haben aber von Hause aus
keinen Ortsbezug. Je bedeutungsvoller die Inhalte sind desto mehr fällt der Wert
des gemeinschaftlichen Zusammentragens von Wissen und Information auf und
wird durch die Möglichkeit des dezentralen Zugriffs auf die gemeinsame Ressource gefördert. Vor allem bei der kollaborativen Bearbeitung von Karten, die früher nur physikalisch an einem Ort erfolgen konnte, bringt der webbasierte Ansatz einen enormen Nutzen mit sich:
"Perhaps the most obvious aspect of PGIS1 that is coming to fruition via the
Geospacial Web is that of community empowerment through collaborative
mapping. [...] users are able to create and collate far more data than an
single individual or group could generate." [SchaTosWuJai2007]; S. 156
Als Beispiel führt der Autor das Projekt http://www.OpenStreetMap.com an, bei
dem Straßenkarten durch normale Benutzer, also keine Geographie-Experten, erstellt werden. Ziel ist das Zusammenstellen von kostenlosem Kartenmaterial
ohne kommerzielle Copyright Beschränkungen. Hierbei sind die geographischen
Daten an sich die Beiträge der Mitglieder.
Jenseits dieser eher seltenen kooperativen Bearbeitung von kartographischen,
topologischen Daten gibt es eine Vielzahl von nicht-geographischen Daten, die
erst durch Geotagging2 auf Karten darstellbar gemacht werden können. Aufgrund
der mittlerweile meist automatischen Generierung genäherter Standortdaten
durch Geokodier-Services3, ist das Assoziieren von Community-generierten Inhalten bereits recht transparent geworden. Diese Services bieten über eine API die
Möglichkeit für Adressen geographische Koordinaten zu liefern. Dazu besitzen sie
eine Datenbank als Backend, in der diese Informationen gespeichert sein müssen.
1 Participatory GIS: Beschreibt das kollaborative Bearbeiten von Kartenmaterial durch Mitglieder einer Intiernet-Community. Näheres siehe Abschnitt: "Einschub: Begriffe im Rahmen von
Anwendungen zur Manipulation
webbasierter Karten"
2 Zuweisen von Koordinaten zu nicht geographischen Informationen
3 Siehe auch Kapitel Fehler: Referenz nicht gefunden Abschnitt: "Lokalisierung von nicht-geographischen Daten"
24
Auf den Seiten der Community-Plattformen wie http://www.wer-kennt-wen.de
ist das Community-Mitglied an sich das soziale Objekt dessen Profil als individueller Beitrag dargestellt und dessen Standort mittels der angegebenen Adresse
ermittelt wird.. Die kartographische Darstellung erfolgt auf einer kleinen Landkarte (siehe Abb. 3.2.1), auf der das Mitglied und die ihm bekannten Mitglieder
dargestellt sind. Auf den Effekt der optischen Vermittlung von Gruppenbewusstsein wurde bereits hingewiesen1. Bei "wer-kennt-wen" können Diskussionsgruppen
beliebiger Themen begründet werden. Dort ist auch der Ort an dem weitere als
"Bekannte" definierte Mitglieder akquiriert werden. Nicht selten füllt sich dadurch der gesamtdeutsche Raum mit Bekannten aus. So einfach diese Graphik
auch ist, so erzeugt sie doch bereits auf den ersten Blick ein Gefühl einer "allumfassenden" Bekanntheit. Nur durch textliches Auflisten der Orte der bekannten
Mitglieder ist dies kaum zu erreichen. Da diese Karten auch von Nicht-Bekannten
eingesehen werden können, kann bei neuen Mitgliedern die Motivation erzeugt
werden, die eigene Karte entsprechend aufzufüllen.
Abbildung 3.2.1: Verteilung von
Bekannten in Deutschland
1 siehe Kapitel 2; Begründung zur Anforderung A2.
25
Die beschriebene, automatische Lokalisierungsmethode wird auch bei Beiträgen
in Blogs oder Foren genutzt. Hierbei wird der Standort des Autors dem Beitrag
desselben zugeordnet. Ein recht anschauliches und interessanteste Beispiel für
Abbildung 3.2.2: Zeitnahe Darstellung von Beiträgen in twittermap.de
geographische Darstellungen von Beiträgen der Nutzer der Community-Plattform
"twitter.de" findet man auf der Seite http://www.twittermap.de (Abb. 3.2.2).
Dies ist ein Mash-Up, das die Personen die aktuellen Beiträge bei twitter generieren, quasi live (mit gewisser Verzögerung) beschränkt auf Deutschland darstellt.
Weiterhin werden auch die Relationen zwischen zusammengehörenden Beiträgen
26
angezeigt. Durch die Darstellung des Zeitverlaufs als dritte Informationsdimension schafft dies eine recht lebendige Atmosphäre der Twitter-Szene. Dies kann
aber nur mit einer großen Zahl an Mitgliedern funktionieren, um jederzeit ausreichend Aktivitäten anzeigen zu können. Ein ähnliches, weniger zeitnahes Visualisierungsprinzip existiert bei dem Mash-Up: http://www.flickrvision.com. Es
zeigt die neuesten Bildersammlungen auf der gesamten Welt dar.
Bei den bisherigen Beispielen waren die Geo-Daten von eher sekundärem Interesse. Die nicht-geographischen Inhalte sind das eigentliche Ziel der Kollaboration
der Mitglieder. Anders sieht es bei den folgenden Beispielen aus. Dort ist vor allem
der Ort an sich von Interesse, weniger die ihn beschreibenden Informationen. Es
gibt viele Seiten, auf denen die Community-Mitglieder Informationen über ihre
direkte Umgebung veröffentlichen können. So entstehen Sammlungen von Ortsbeschreibung in vielfältiger, medialer Form. Das Prinzip ist dabei immer das Selbe.
Als Beispiel sei hier http://www.Tagzania.com (Abb. 3.2.3) genannt, auf der die
Benuzter individuell Karten ihrer Umgebung und ihre speziellen POIs eintragen
können. Diese Beiträge werden dann nach Kategorien sortiert angeboten. Die Kategorie "Nearest" bietet hierbei die Anzeige kommentierter POIs an und eine Galerie von Bildern, die innerhalb dieses geographischen Gebiets lokalisiert sind. An
dem weißen Bild mit dem Markenzeichen "flickr" lässt sich erkennen, dass auch
hier stark von der Mash-Up-Technologie Gebrauch gemacht wird. Wie bei vielen
anderen Seiten auch sind natürlich kommerzielle Komponenten mit enthalten.
Dies ist für die Finanzierung dieser Seiten grundlegend, und das eigentliche Geschäftsmodell. In diesem Falle wird die Suche nach Hotels unterstützt (siehe rote
Label rechts unten).
Abbildung 3.2.3: Benutzer-generierte Karte bei www.Tagzania.com
27
Zusätzlich zu den von den Benutzern generierten Inhalten können bei Verwendung von GoogleMaps noch weitere Layer hinzugefügt werden z. B. Bilder aus
der Foto-Community-Site "Panoramio" oder Videos aus YouTube, die dort geolokalisiert wurden.Es gibt viele Beispiele von Seiten, die ihren Mitgliedern die
Möglichkeit anbieten ihre Reiseberichte und Erfahrungen auch kartographisch
zu erfassen.
Bei http://www.TravBuddy.com z. B. können Text-Blogs mit integrierten Bildern zu
bestimmten Reisezielen eingestellt werden. Dazu gehört eine (recht kleine) WebMap (siehe Abb. 3.2.4), auf der die Reiseroute mittels eines Linienzuges gekennzeichnet ist. Wichtige Reiseziele können angeklickt werden und führen daraufhin zum erneuten Laden der Seite, da sich
dann der Inhalt des Blogs ausschließlich Abbildung 3.2.4: Reiseroute bei
auf den Zielort bezieht.
TravBuddy
Abbildung 3.2.5: Kategorisierte POIs mit Info-Windows bei SlowTravel
28
Auf der Seite http://www.Slowtrav.com (siehe Abb. 3.2.5) sind nur in Ausnahmefällen Routen zu finden, jedoch sind die Informationen zu einem POI direkt in
einem Informationsfenster ersichtlich. Weiterhin können die POIs umfangreich
kategorisiert und gefiltert werden. Dies erleichtert die Exploration der einzelnen
Beiträge innerhalb eines Reiseberichts. Direkte kommerzielle Hinweise, außer im
globalen Navigationsmenü, sind auf der Seite des Reiseberichts nicht zu finden.
Neben weltweiten Reiseberichten können auch lokal begrenzte Routeninformationen von Interesse sein. Im Ergebnis recht aufwändige Beiträge können bei
http://www.jogmap.de (Abb. 3.2.6) recht einfach mit Hilfe einer speziellen Jogging-Uhr erstellt werden. Diese Uhren sind eine Kombination aus Puls-, Zeit- und
Höhenmesser und besitzen zusätzlich noch die Funktion einers GeoLoggers. Die
während einer Strecke gesammelten Daten können über USB direkt auf den Server
geladen und dargestellt werden (wobei die biometrischen Daten ausgespart werden). Die daraufhin dargestellte Laufstrecke bietet eine Animationsfunktionalität,
bei der der Marker die Strecke "abläuft" und parallel dazu im unteren Balkendiagramm das Höhenrelief markiert wird. Bei Wahl der Terrain- oder Satelliten-
Abbildung 3.2.6: Topographische Karte mit Joggingroute bei jogmap.de
29
Ansicht kann sich der Betrachter sehr genau vorstellen, wie der Kontext der
Laufstrecke tatsächlich ist. Hier machen sich die implizit in den Karten enthaltenen geographischen und topologischen Informationen als sehr hilfreich bemerkbar.
Die Darstellung der Menge an nicht-geographischen Informationen für eine weitere "Sportart", das "Geocaching"1 ist im Vergleich dazu umfangreicher. Ein "Cache"
ist dabei Behälter mit Tauschgegenständen, der auf der Website mit seinen Koordinaten eingetragen wird. Ziel ist es für andere Geocacher den versteckten Behälter zu finden und den Fund zu dokumentieren sowie evtl. die enthaltenen
Gegenstände auszutauschen. Zwar sind keine Routeninformationen von Nöten,
aber die Menge an verschiedenen aber begrenzten "Cachearten" muss unterscheidbar visualisiert und filterbar sein. Da textbasierte Kategorisierung unnötig
viel Platz in Anspruch nehmen würde, wird die Unterscheidung durch Symbolbilder für die auf der Karte dargestellten Marker erreicht. Weiterhin muss auf
der gleichen Seite auch Beschreibungen zu den einzelnen Behältern angezeigt
werden. Um diese Informationen gleichzeitig darstellen zu können, wird eine Liste
innerhalb einer Fläche fixer Größe mit (hier grünem) Rollbalken genutzt (Liste
rechts unten). Die Zugehörigkeit zwischen einer Beschreibung und des dazugehörigen "Caches" wird durch wechselnde, farbliche Umrandung des Cache-Symbols
erreicht (Fragezeichen rechts unten und farblich markierte Zeile mit Tooltip).
Abbildung 3.2.7: Umfangreiche Informationsdarstellung bei GeoChaching
1 Webgestützte "Schatzsuche", siehe dazu http://de.wikipedia.org/wiki/Geocaching und die
Hauptseite http://www.geocaching.com/
30
Im Gegensatz zu diesen freizeitrelevanten Inhalten gibt es Communities, für die
das gemeinsame Zusammenstellen von lokalen, geographischen Daten von elementarer Bedeutung sind. Dazu sind zunächst einige Begriffe zu klären.
Einschub: Begriffe im Rahmen von Anwendungen zur Manipulation
webbasierter Karten
Im Themenbereich von Anwendungen und Services, die webbasierte geographische Karten nutzen oder zur Verfügung stellen ist im Laufe der Zeit eine Vielzahl
von Begriffen entstanden, die sich zum einen auf die Infrastruktur zum anderen
auf die Nutzung von geographischen Daten bezieht.
Der Begriff "Web-Mapping" und der damit in Verbindung stehende Begriff "WebGIS" beziehen sich auf die Infrastruktur geographischer Datensysteme. GIS steht
für "Geographic Information System" und bezeichnet in Anlehnung an die Definition von [Dickmann2001] Daten-Services, die eine Schnittstelle für eine vertiefte
Untersuchung von geographischen Daten erlaubt, wie Flächen- und Streckenbezogene Suchanfragen, Enthaltenseins-Anfragen oder statistische Anfragen geokodierter Informationen. Diese Operationen bezeichnet er als GIS-Operationen.
Die Trennung der beiden Begriffe kann wie folgt beschrieben werden:
"Im Folgenden soll von Web-GIS in Abgrenzung zu Web-Mapping und kartographischen Informationssystemen gesprochen werden, wenn ein Nutzer
nicht nur kartographische Darstellungen visualisieren und einfache AnsichtsManipulationen [...] sondern darüber hinaus [...] GIS-Operationen selbständig durchführen kann." [Dickmann2001]; S. 18–19
Diese vertiefte Analyse durch GIS-Operationen wird für Nutzer notwendig, z. B.
für Mitarbeiter von Regierungsorganisationen, um bessere Entscheidungen im
Bereich regionaler Entwicklungsvorhaben treffen zu können. In diesem offiziellen,
staatlich geförderten Rahmen haben sich auch die ersten GIS-Infrastrukturen zusammen mit Universitäten gebildet und dann mehr und mehr in den Bereich der
Internetanwendungen ausgebreitet.
Mit der zunehmenden Veröffentlichung der Daten und der aufgrund der Möglichkeit des dezentralen Zugriffs auf Web-Mapping- und Web-GIS-Anwendungen im
Internet haben sich Web-PGIS-Projekte entwickelt. PGIS (Participatory GIS) bezeichnet das kollaborative Zusammentragen von geographisch lokalisierbaren
Fakten im konkreten räumlichen Umfeld realer Sozialgemeinschaften (social
Communities) bzw. NGOs. Die so (von Laien) ermittelten Fakten werden dann auf
Landkarten übertragen, um existierende Probleme zu visualisieren und auf dieser
Basis Entscheidungen über das weitere Vorgehen treffen zu können. In vielen
Projekten hat sich gezeigt, das dieses optische Lokalisieren und damit das Bewusst werden von Problemen bei den Betroffenheit bzgl. dieser Probleme enorm
gefördert hat. PGIS ist dabei zunächst nicht gebunden an webbasierte Anwen-
31
dungen und wurde zumeist mit physikalischen Karten durchgeführt. Die webbasierte Variante hat jedoch zu einer wesentlichen Vergrößerung der Zahl der
Beteiligten geführt.
In [Gunt062005] beschreibt die Gründerin des "Green Map Systems"1 die Wirkung
der kartographischen Visualisierung auf das Umweltbewusstsein, also das bewusste
Wahrnehmen der direkten Umgebung und der dortigen Probleme wie folgt:
"According to Brawer, the funcion of a Green Map is simple: "it gives you a
fresh perspective on where you live; you see it from a totally new vantage
point." "On a Green Map", she explanins, "the environment is not the background, but the foreground" [Gunt062005]; S. 2
"Green Maps" sind das Ergebnis eben dieser kollaborativen Kartenerstellung mit
dem primären Ziel, Umweltprobleme wie Eingriffe in schützenswerte Biosphären
oder Fälle von Umweltverschmutzung zu belegen und zu veröffentlichen.
Solche Projekte haben sich auch im Bereich der Sozialarbeit in Entwicklungsländern als hoch effizient erwiesen. Dort wird zusammen mit den Bewohnern der
Gebiete, meist im Rahmen von NGOs, eine Zustandskarte der sozialökonomischen Verhältnisse erstellt. Das Zusammentragen des gemeinsamen und unterschiedlichen lokalen Wissens um die Beschaffenheit des umgebenden Landes mit
allen seinen Ressourcen und Besitzverhältnissen zu illustrieren führt dazu, dass
lokales Wissen einzelner anschaulich und so für die Communitiy als ganzes nutzbar wird.
Zunächst in den Ländern, in denen der Zugriff auf das Internet recht früh möglich war, bildeten sich lokale Gemeinschaften die die zunächst nicht digitale
Technik des gemeinsamen Erstellens von lokalen Landkarten auf Web-Maps übertrugen. Basis dieser Idee ist das bereits erwähnte Web-PGIS. Als Beispiel wird
eine frei zugängliche "Green Map" dargestellt. Die dort verwendeten Symbole
sind mittlerweile standardisiert. Es finden sich alle bisherigen Funktionalitäten
wieder. Zusätzlich wird auf einem der Reiter eine Suchfunktion angeboten (siehe
Abb. 3.2.9). Sie bezieht sich auf das dargestellte Gebiet und leitet bei Eingabe
eines Begriffes von der Kartendarstellung zu einer Liste von Standorten weiter.
Bei der Rückkehr zur Kartendarstellung muss diese neu aufgebaut werden. Evtl.
wäre hier eine Liste wie beim Geocaching ebenfalls angezeigt.
1 siehe Homepage: http://www.opengreenmap.org
32
Abbildung 3.2.8: Kollaborative Karte zur OpenGreenMap
Abbildung 3.2.9: Suchfunktion
33
3.3 Diskussion der Beispiele in Hinblick auf Wiederverwendbarkeit
Einige der Techniken und Designelemente der beschriebenen Anwendungen
können wiederverwendet werden. Obwohl "geocaching" am ehesten den Anforderungen entspricht, erfüllt es nicht die vollständigen Anforderungen bzgl. der
Objekte „Benutzer“ und der „Institution“.
Allgemein lässt sich feststellen, das sich das Einbinden von applikations-externen
Daten durch die Verwendung von Mash-Ups als Standard herausgebildet hat. Handelt es sich dabei nicht um essentielle Daten, die von den Benutzern eingegeben
wurden (z. B. die Bilder im Fall des Beispiels von "Tagzania"), so bedarf es keinerlei Überprüfung auf deren Existenz, was bei "flickr" auch erschwert wird, da
auf jeden Fall eine Antwort (in Form eines Fehlerbildes) erfolgt.
Bei Irrelevanz der Genauigkeit von angefragten geographischen Daten zur Verortung von Beiträgen oder Benutzern, wie z. B. bei der Suche nach dem Benutzerstandort bei "wer-kennt-wen", ist eine Rückversicherung beim Benutzer nicht
notwendig.
Bei großen Mengen von nicht-geographischen Informationen werden zusätzlich
mittels Checkboxen selektierbare Kategorien zur Filterung der angezeigten
Layer-Objekte angeboten. (z. B. "geocaching").
Auf der Seite von http://www.Palatio.com wird nach der dort angebotenen standardsuche "find X near Y" ein automatisches Panning zum Ort Y zusammen mit
einem Zoom auf die detaillierteste Stufe durchgeführt, ungeachtet der Tatsache,
ob sich dort überhaupt Layer- oder auch nur Basis-Karten-Daten befinden. Dies
wird auch durchgeführt wenn als Ort Y z. B. "Afrika" eingegeben wird. Dies führt
häufig zu einer leeren Kartendarstellung. Eine Zoom-Stufe zu wählen, die zumindest ausreichen geographischen Kontext anzeigt, um sich orientieren zu können,
wäre hier angeraten.
Welche der oben beschriebenen vorhanden Techniken und Konzepte in dieser
Arbeit verwendet werden, wird bei der Beschreibung der Lösung sowie bei der
Implementierung in den nächsten zwei Kapiteln erläutert.
34
4.
Beschreibung der Lösung
In diesem Kapitel werden aus den Anforderungen konkrete Userstories formuliert.
Daraufhin werden die allgemeinen, technischen Voraussetzungen genannt.
Das Kapitel schließt mit einem Überblick über das Konzept der Implementierung
unter Berücksichtigung dieser Voraussetzungen ab.
4.1 Ableitung der Userstories
In diesem Kapitel werden die Userstories auf Basis der Anforderungen formuliert.
4.1.1
Herleitung der notwendigen Datenobjekte
In Anforderung A2. und A4. werden zunächst die grundlegenden Objekte der Anwendung genannt. Dies sind:
1. Die Praxis
2. Der Benutzer
3. Die Institution
Die Anforderung nach inhaltlicher Filterung (A5.) erfordert die Festlegung nach
welchen Inhalten der Praktiken gefiltert werden soll. Dafür kann das auf den
Seiten "geocaching" und "slowtravel" verwendete Konzept der Filterung nach
Kategorien genutzt werden. Dies resultiert in der Einführung eines weiteren
Datenobjekts:
4. Die Kategorie
Zur Lokalisierung der Institutionen sowie für die Darstellung der geographischen
Bezüge (Anforderung A1., A3.) wird eine
5. Adresse
benötigt. Auf dieser Basis lässt sich auch der entfernungsbezogene Filter implementieren.
Der Filter für Regionen (Anforderung A7.) benötigt für diese ein zusätzliches
Datenobjekt. In diesem Falle wird als Region der Organisationsbezirk "Landeskirche" verwendet, weshalb sie als
6. Organisationselement
bezeichnet wird.
Das Anlegen dieser Objekte muss durch Userstories abgedeckt werden.
4.1.2
Userstories zur Erfassung der notwendigen Daten
Die geographische Darstellung der Informationen und der Filter-Bedienelemente
werden im Weiteren als "Praxis-Karte" bezeichnet.
35
Zunächst müssen die grundlegenden, darzustellenden Objekte angelegt werden
können. Die entsprechenden Anforderungen sind bei den jeweiligen Objekten
aufgeführt, soweit nicht explizit angegeben.
Zentrales Objekt ist die Praxis.
US1. Der Benutzer gibt den Titel, eine kurze Zusammenfassung und eine
detaillierte Beschreibung der Praxis ein und ordnet sie Kategorien zu.
Besondere Daten in Bezug auf die Institution sind deren geographischer Standort,
sowie die Information über das die Institution darstellende Bild (Anforderung A11.).
US2. Bei der Eingabe der Daten für eine Institution bestimmt der Benutzer
die geographischen Daten der Institution sowie die Zugehörigkeit zur
Organisationshierarchie der EKD.
US3. Bei der Eingabe der Daten für eine Institution kann der Benutzer ein
Bild zur Illustration der Institution festlegen.
Drittes Datenobjekt ist der Benutzer: Durch die Zuordnung zu einer Institution
wird er automatisch verortet (Anforderung A2.)
US4. Der Benutzer legt einen neuen Benutzer an und ordnet diesem eine
Institution zu.
Im Rahmen der Dateneingabe müssen die Attribute der drei Objekte "Benutzer",
"Institution" und "Praxis" änderbar sein. Die Details der Objekte soll auch nur
lesend angezeigt werden.
US5. Der Benutzer ändert oder betrachtet die Daten eines Benutzers, einer Praxis oder einer Institution.
4.1.3
1
Userstories zu den Funktionalitäten der Praxis-Karte
Darstellung
Zentrales Objekt der Exploration sind die Praktiken. Die Personen, die mit diesen
Praktiken vertraut sind, werden als sekundäre Informationen gehandhabt. Die
Praktiken sollen erkennbar auf der Seite gelistet sein und durch Filterung reduziert werden können.(Anforderung A4., A5., A6.)
US6. Der Benutzer sieht auf der Seite der Praxis-Karte eine Tabelle mit
Praktiken, die mit den sichtbaren Institutionsmarkierungen korrespondieren.
36
Die Institutionen sind die primär sichtbaren Objekt auf einer geographischen Karte.
Diese Wahl des Hintergrunds erfüllt die Anforderung A1. und A12., wie in der
Analyse dazu bereits beschrieben. Zu ihnen können sekundäre Informationen angezeigt werden. (Anforderungen A1., A4., A8., A10., A11.)
US7. Der Benutzer sieht eine Kartendarstellung von Deutschland und darauf alle vorhanden Institutionen. Zu den Institutionen kann jeweils zusätzliche Informationen angezeigt werden.
Um sich innerhalb der Institutionen lokalisieren zu können muss der Benutzer
einen eigenen Standort besitzen (Anforderung A2.)
US8. Jeder Benutzers besitzt auf der Praxis-Karte einen besonders gekennzeichneten Standort.
Dieser soll interaktiv geändert werden können, um auch die Region, die durch
die entfernungsbasierte Einschränkung entsteht flexibel verschieben zu können.
(Anforderungen A6.)
US9. Der Standort des Benutzers kann geändert werden. Der Umgebungsfilter wird dabei mit verschoben.
2
Filtermöglichkeiten
Zunächst soll eine elementare Stichwortsuche im Volltext der Praktiken existieren.
Dies entspricht dem zur Verfügung stellen einer zusätzlichen, frei wählbaren Kategorie, die allerdings dominant filtert. (Anforderung A5.)
US10. Der Benutzer kann auf Basis eines Stichwort in den allen zu den
Praktiken eingegebenen Texten die Praktiken filtern.
Weiterführend ist die Einschränkung der Kategorien zu unterstützen. (Anforderung A5.)
US11. Der Benutzer kann durch Einschränkung der Auswahl der Kategorien
die Praktiken filtern.
Neben diesen inhaltlichen Filtern sollte eine Einschränkung des Radius um den
Standort des Benutzers ermöglicht werden. Institutionen außerhalb des Radius
und nur dort erstellte Praktiken sind zu filtern. (Anforderung A6.)
US12. Der Benutzer kann den zu betrachteten Radius um seinen Standort
herum einschränken und so die Anzahl der angezeigten Institutionen
und somit die Anzahl der Praktiken reduzieren bzw. erweitern.
Eine weiter Möglichkeit der geographischen Filterung bieten die Organisationselemente. (Anforderung A7.)
37
US13. Die Institutionen einer Landeskirche und die mit ihnen explizit assoziierten Praktiken können durch (ab)wählen von Landeskirchen aus
einer hierarchischen Liste, in der auch die Namen der Institutionen
aufgeführt sind, ein- und ausgeblendet werden.
Ein zurücksetzen bzw. deaktivieren der Filtermöglichkeiten ermöglicht dem Benutzer die Rückkehr zu einem neutralen Ausgangspunkt bei der Suche. (Anforderung A9.)
US14. Dem Benutzer ist es möglich die Wirkung der gesetzten Filter einzeln oder gleichzeitig zu deaktivieren.
US15. Dem Benutzer ist es möglich alle Filter gemeinsam auf einen Standardwert zurückzusetzen.
Um der Anforderung A3. zu genügen muss die Möglichkeit gegeben sein alle Institutionen außer denen, an der die Praxis angewendet wurde, auszublenden.
US16. Dem Benutzer kann explizit alle Standorte einer Praxis anzeigen.
3
Navigation innerhalb der Domain und Datenverwaltung
Wie bei jeder benutzerorientierten Anwendung ist die Benutzerverwaltung ein
notwendiges Element. Gefordert ist eine leichte Zugänglichkeit der Anwendung.
Da das Hauptziel das Auffinden von Praktiken und den dazugehörigen Informationen (Autoren und Standorte) ist, soll für diese Funktionalitäten ein ungehinderter Zugang ermöglicht werden.
US17. Ein nicht registrierter Benutzer kann direkt von der Startseite aus
zur Übersicht der Praktiken bzw. auf die Seite der Praxis-Karte navigieren und wird dabei automatisch als Gast-Benutzer angemeldet.
Ein registrierter Benutzer kann sämtliche Daten der Anwendung manipulieren.
US18. Ein registrierter Benutzer meldet sich mit Login-Name und Passwort
an und kann sämtliche Daten editieren.
Die Anforderung A13. wird durch Wahl der Designelemente und deren Anordnung
während der Umsetzung der Userstories mit berücksichtigt.
38
4.2 Allgemeine technische Voraussetzungen für die Lösung
Einer der zusätzlichen Aspekte der in dieser Arbeit zu entwickelnden Web-Applikation ist deren potentielle Wiederverwendbarkeit innerhalb des Verbundprojekts. Daher sollten möglichst alle technischen und, soweit sinnvoll, inhaltlichen Anforderungen des Verbundprojekts Berücksichtigung finden.
Technische Voraussetzung ist die Verwendung des Frameworks Ruby-On-Rails1.
Dieses ermöglicht eine schnelle Erstellung von Model-View-Controller-Gerüsten
inkl. Datenanbindung. Verwendung findet hierbei das Datenbanksystem MySQL2.
Der Ausgangspunkt für die Datenbasis dieser Arbeit sind die Inhalte bereits existierender Good-Practice-Anwendungen3. Diese werden im Weiteren als "Testdaten" bezeichnet. Diese werden zum Teil in die Anwendung integriert und evtl.
durch weitere, notwendige Daten erweitert. Folglich stellt sich zunächst die Aufgabe eine entsprechende Datenbasis zu schaffen, auf deren Grundlage dann eine
Darstellung dieser Inhalte erfolgen kann.
Der Hauptteil der Techniken, die in dieser Arbeit verwendet wurde wird durch
das Ruby on Rails Framework (in Folge "RoR" abgekürzt) vorgegeben. Zentraler
Bestandteil bzgl. der Datenverarbeitung ist die Kapselung der Datenbankaktivitäten mittels des in RoR integrierten "ActiveRecord"-Frameworks. Es erzeugt automatisch die notwendigen SQL-Befehle aus Model-Klassen, deren Eigen- und Attributnamen durch Konvention vorgeschrieben und vom Framework so automatisch
verarbeitet werden können.
Das RoR-Framework wurde ab der Version 2.0 einige Funktionalitäten entfernt,
die hier wieder als Plugins eingebunden wurden (siehe Quellenverzeichnisse).
Die Bibliothek "authlogic" zur Verwaltung des Logins und der Usersessions konnte
jedoch nur als direkte Rails-Erweiterung installiert werden.
Eine weitere Vorgabe sind die schon integrierten JavaScript-Bibliotheken "Prototype", die JavaScript um zusätzliche Klassen vor allem im Bereich DOM erweitert, und die Bibliothek "script.aculo.us", die dynamische Effekte und Unterstützung bei Auto-Complete-Problemen und InPlaceEditing bietet.
Einige der Scripten bzw. graphischen Elemente (wie z. B. gif-Bilder für AktivitätsIndikatoren) sind entsprechend dem DRY-Prinzip, frei verfügbarem OpenSourceQuellen entnommen auf die ebenfalls im Anhang verwiesen wird.
1 http://rubyonrails.org/
2 http://www.mysql.com/
3 Eine Sammlung guter Praktiken (verwendet als Testdatenbasis) findet sich unter:
http://www.kirche-im-aufbruch.ekd.de/praxis.html
39
4.3 Konzeptioneller Überblick
Zunächst werden die Techniken und Ressourcen eruiert, die zusätzlich zu den zuvor genannten zur Implementierung benötigt werden.
Die Implementierung der Anwendung erfolgt schließlich in 3 Schritten:
1. Erstellung der Datenbasis und rudimentäre Eingabefunktionalität und Daten-Importroutinen zur Datengenerierung.
2. Implementierung der Praxis-Karten-Funktionalitäten
3. Anpassen der Anzeige- und Eingabefunktionen für die Daten im Web 2.0Stil mit Fokussierung auf die Eingabe von Institutionen.
Um größere Sicherheit vor Nebenwirkungen bei Refaktorisierungen und Datenbankänderungen zu gewährleisten werden sowohl die vom RoR-Framework unterstützten Unit-Test auf Modell-Ebene als auch die funktionalen Tests auf Controller-Ebene genutzt. Diese Framework allein reicht jedoch nicht für die rein
JavaScript-basierende Web-Oberfläche der Anwendung aus. Daher muss zusätzlich noch das Test-Framework "Selenium"1 für Integrationstests eingesetzt werden. Es besteht aus einem Client-Plugin für Ruby und einem Java-basierenden
Proxyserver. Das Framework ist in der Lage unter externer Kontrolle der Standardbrowser Firefox, Microsoft Internet Explorer oder Safari Webseiten-Elemente
wie Buttons, Checkboxen, Links etc. automatisiert zu aktivieren. Weiterhin kann
es über den Proxy-Server als "Man In the Middle" den Ablauf von Ajax-Anfragen an
den Applikations-Server nachverfolgen und darauf reagieren. Dabei werden auch
verschiedene Betriebssysteme unterstützt.
1 Homepage: http://seleniumhq.org/
40
5.
Details zur Lösung
5.1 Wichtige technische Details für die Implementierung
1
Wichtige Formate zum Austausch von geographischen Daten
Bei der Modellierung von geographischen Attribute bzw. Daten gibt es verschiedene Standards, die direkten Einfluss auf die Schnittstellendefinition bei der
Datenübertragung im Internet haben. In [KorZeh2008] werden als maßgebende
Institutionen ISO1 (International Standardisation Organisation), OGC2 (Open
Geospacial Consortium) und OMG3 (Object Management Group) genannt.
OGC hat - mittlerweile in Abstimmung mit ISO - das XML basierte Datenformat
GML (Geography Markup Language) standardisiert. Entsprechend dem zugrunde
liegenden Modell von OGC4 existieren Standards unterschiedlicher Komplexität
und Abstraktionsniveaus. Im einfachsten Fall werden "Simple Feature Types"
spezifiziert, die lediglich Punkte, Linien und Polygone beschreiben, die als "Collections" dann zu unregelmäßigen Poly-Linienzügen bzw. Polygonen werden.
"Im Simple Feature Type werden keine Meta-Informationen mitgeführt und
die Geometrietypen sind beschränkt auf Punkte, Linien und Polygone. [...]
Mehrere Geometrien vom gleichen Typ können zu einer GeometryCollection
zusammengefasst werden." [KorZeh2008]; S. 65
Diese stellen die Basistypen für komplexere Typen von geometrischen, dreidimensionalen Formen dar, die zumeist als Overlay-Objekte auf User generierten
Karten Verwendung finden. Die dritte Dimension ist dabei die Höhe eines Ortes
über dem Meeresspiegel. Angereichert werden diese Objekte durch nicht-geographische Meta-Informationen. Wie diese Meta-Informationen strukturiert sind
wird durch Angabe des entsprechenden XML-Schemas im Kopf des GML-Dokuments definiert.
Ein weitere bekannte Gruppe von geographischen Internetformaten sind die
GeoRSS-Microformats (Geograhically Encoded Objects for RSS), bei denen RSSFeeds verschiedenen Formats durch geolokalisierte Daten erweitert werden. Das
GeoRSS Simple bzw. GeoRSS RDF5 Format ergänzt nur dreidimensionale, punktuelle Angaben während das GeoRSS GML Format auch Formen bis hin zu unregelmäßigen Polygonen beschreiben kann.
1 siehe http://www.iso.org/
2 siehe http://www.opengeospatial.org/
3 siehe http://www.omg.org/
4 siehe [KorZeh2008], S.64
5 W3C Standard für Resource Description Framework: http://www.w3.org/standards/techs/rdf
41
Für diese Arbeit ist das Format KML1 (Keyhole Markup Language) von Interesse,
das die Firma Google von Keyhole Inc. nach dessen Kauf übernommen und das
mittlerweile Teil der Standardisierung der OGC geworden ist.
2
Quellen für geographische Daten im Internet
Die oben genannten Formate sind Antwortformate von Geo-Daten-Server die
Geo-Daten-Services anbieten. Diese Server speichern die Daten meist in speziell
dafür ausgelegten Datenbanksystemen. Die bekanntesten Vertreter der relationalen Datenbanken unterstützen direkt die Verarbeitung von räumlichen Daten.
Für die OpenSource Datenbank PostgreSQL existiert seit 2000 die "PostGis" Erweiterung als direkter Support von GIS Daten 2. In der Release 2004-10-23 der
OpenSource Datenbank MySQL 4.1 wurde eine Unterstützung von ortsreferenzierten Daten (spatial data)3 eingeführt. Von kommerzieller Seite sollte als Vorreiter die Oracle Datenbank erwähnt werden. Seit 1993 ist im Kernel der Oracle 7 Datenbank die "Spatial Data Option" bzw. "SDO" eingebaut worden. Davor gab es
bereits proprietäre Erweiterungen, die einfache ortsabhängige Daten verwalten
konnten. Der "Spatial Data Support" wurde vom Nachzügler Mircrosoft erst für
den MS SQL-Server 20074 geplant und umgesetzt.
Die Services stellen geographische Basisdaten an öffentlichen oder privaten Internet-Schnittstellen zur Verfügung. Für die Parametrisierung der Anfragen an
diese Services gibt es wiederum Standards wie z. B. WMS (Web Map Service),
WFS (Web Feature Service) und den WRS (Web Registry Service). Das Zusammenspiel dieser Services wird z. B. in [SchaTosWuJai2007] beschrieben. [SchaTosWuJai2007] verweist dabei auf die Nähe der Anfrage- und Antwort-Format-Spezifikationen.
"The [Web Feature Service] WFS, like GML, supports requests and transactions that can include both geographic and non-geographic information."
[SchaTosWuJai2007]; S. 19
Im Prinzip werden also von dem WMS-Server dem Client Basis-Kartenmaterial und
von den WFS-Server Objekt und Metadaten zur Verfügung gestellt, passend zu
dem vom Client angefragten geographischen Bereich und den gewünschten geographischen Features. Der Zugriff erfolgt meist über RESTfull Services (s. o.). Die
Services bilden somit einen Teil der Mash-Up Infrastruktur in Form von verteilten
Datenbanken.
1 OGC Standard für KML: http://www.opengeospatial.org/standards/kml/
2 lt. Hersteller: http://www.refractions.net/products/postgis/history/
3 siehe: http://dev.mysql.com/doc/refman/4.1/en/spatial-extensions.html und http://www.mysql.com/about/legal/lifecycle/#calendar
4 vergl. [MSInc122006]
42
Von primärem Interesse für Web-Mapping Anwendungen sind zunächst jedoch die
universelleren "Map-Services", die anders als die oben genannten speziell spezifizierten Services ein "Gesamtpaket" und Informationen liefern. Das Prinzip der
Servicenutzung kann grob wie folgt beschrieben werden. Meist wird von dem so-
Abbildung 5.1.1: Prinzip der Web-Service-Server-Nutzung
genannten "Applikationsserver" lediglich auf den Map-Service-Server zugegriffen.
Der Applikationsserver stellt dann für den Client-Rechner die eigentliche Anwendung zur Verfügung. Vom Map-Service-Server wiederum erfolgt ein Zugriff auf
weitere, speziellere Server (s. o.) auf denen die benötigten einzelnen Informationen gespeichert sind. Dies sind die Ressourcen aus Datenbanken mit dem BasisKartenmaterial, der Geo-Datenbank mit Konvertierungsdaten z. B. von Adressen
zu Koordinaten, einer Datenbank für weitere Bilder (z. B. für Marker) u.s.w.. Der
Map-Service fasst diese Daten zusammen und überträgt sie als ganzes zum Applikationsserver. Zusätzlich zu diesen Daten kann der Applikationsserver noch eigene,
lokal gespeicherte Ressourcen hinzufügen. So können auch dort gespeicherte
Multimediadaten zusätzlich auf der Karte dargestellt werden.
Solche zusätzlichen auf der eigentlichen Basis-Karte dargestellten Objekte können z. B. in Form der bereits erwähnten Overlays eingebunden werden. Diese
sind meist Ausgangspunkt für weitere Interaktionsmöglichkeiten, wie weiterführende Links oder Informationsfenster mit Text oder Multimedia-Inhalten.
Flächendeckende, evtl. transparente Overlays können als Gebietsmarkierung
über die Basiskarte gelegt werden. Dabei kann bei ausreichender Transparenz die
Lesbarkeit der dahinter liegenden Basis-Karte gewährleistet werden. Nicht transparente Overlays bezeichnet man auch als "Abdecklayer" und werden meist zur
Hervorhebung von wichtigen Bereichen eingesetzt.
43
Die bekanntesten öffentlichen Map-Services sind GoogleMaps1, YahooMaps2,
OpenStreetMap3 oder Microsoft Virtual Earth4. Sie stellen nicht nur Basis-Kartenmaterial zur Verfügung, sondern bieten mindestens ein JavaScript-Framework als
API an, das den Einbau der jeweiligen Karte in eine dynamische Webseite sehr
leicht ermöglicht. Einschränkungen bei der Benutzung gibt es z. B. bei GoogleMaps. Es wird gefordert, dass die Seiten, die die GoogleMaps-API einbinden sich
mit ihrer URL registrieren und ohne Log-In direkt aufrufbar sind. Ansonsten fallen
Nutzungsgebühren an. Die Registrierung wird mittels eines Schlüssels, der mit jeder Anfrage mitgesendet wird, überprüft. Eine Ausnahme bildet nur OpenStreetMap, deren Daten OpenSource sind.
Das oben beschriebene Prinzip der Servicenutzung findet sich bei dem hier verwendeten GoogleMaps System wieder, wobei die Client-Server-Kommunikation
vom Applikations- zum Map-Service-Server von der von Google zur Verfügung
gestellten JavaScript-Bibliothek übernommen wird. Das Format KML bildet dabei
das Antwortformat für Anfragen an den mittels JavaScript direkt ansprechbaren
Geokodier-Service von GoogleMaps.
3
Lokalisierung von nicht-geographischen Daten
Um die hier zu betrachtenden Community-Beiträge auf einer Karte lokalisieren
zu können, muss zunächst deren Verbindung zu einem geographischen Ort oder
Areal erfasst und zugeordnet werden. Dieser Vorgang, also das Assoziieren von
Geo-Daten mit den betreffenden Inhalten, wird auch "Geotagging" genannt. Es
gibt dabei verschiedene Verfahren.
Alle Verfahren bedienen sich Services, die dem Benutzer die Suche nach geographisch markierten Daten ermöglichen. Die wohl ungenaueste Methode ist die
Suche nach dem Standort eines Clients anhand seiner IP-Adresse. Diese weist
meist nur auf den Standort des Providers hin.
Eine bessere Möglichkeit, falls die Daten verfügbar sind, bietet die Nutzung eines
Services, der Suchanfragen nach der postalischen Adresse von Clients akzeptieren. Ein Beispielservice ist www.geonames.org5 Dabei hängt die Genauigkeit
sowohl von der Detailliertheit der vorliegenden Daten ab, als auch vom Datenbestand des angefragten Services. Fehlt z. B. der Eintrag einer Postleitzahl in
der Datenbank des Servers und ist dies das einzige Datum, so liefert der Service
den Ort 0.0, 0.0 zurück, der sich im Nordatlantik befindet. Dies muss bei der
Verwendung mit berücksichtigt werden.
1 http://code.google.com/apis/maps/
2 http://developer.yahoo.com/maps/ajax/
3 http://www.openstreetmap.info/examples/webmap.html
4 http://www.microsoft.com/maps/isdk/ajax/-+
5 http://www.geonames.org/export/geonames-search.html
44
Die Automatisierung des Geotaggings wird zusehend ausgefeilter. Zwar müssen
Beiträge in Wikipedia wegen der geforderten Korrektheit der Standortsinformation noch manuell geolokalisiert werden, jedoch sind auch schon Techniken entwickelt worden dies ebenfalls programmatisch durchführen können. Das in [SchaTosWuJai2007] dargestellte Verfahren des "Geo-Parsing" wird von einer speziellen
Suchmaschine genutzt, um bei ortsspezifischen Anfragen durch Benutzer, zu diesem (geographischen) Ort entsprechende Seiten zu finden. Dazu werden Webseiten nach geographisch lokalisierbaren Angaben (z. B. Städtenamen, Sehenswürdigkeiten, natürliche bekannte Landmarken) hin durchsucht. Diese Informationen (evtl. mit Kontext) werden extrahiert und die Geo-Daten mittels Geokodierung auf einer Karte dargestellt. So werden Handlungs- bzw. geschichtliche
Abläufe konkret sichtbar.
4
Interaktionsmöglichkeiten bei Web-Mapping-Anwendungen
Bei der Entwicklung einer explorativen Anwendung steht eine interaktive Benutzeroberfläche im Mittelpunkt. Die Anbieter von Map-Services bieten bereits in ihren APIs zahlreiche Interaktionsmöglichkeiten an. Weiterhin können durch dynamische Webseiten weitere Funktionalitäten hinzugefügt werden.
5
Elemente interaktiver Karten
Diese weitere Schicht von Objekten werden im Kontext Web basierter Karten
"Layer" genannt. Verweisen die Objekte genau auf einen Punkt so spricht man
von "Marker", bei großflächigen Objekten von "Overlay". Illustrationen dieser
Objekte sind auf jeder weiter unten vorgestellten konkreten Anwendungen zu
sehen und werden ebenfalls in dieser Arbeit verwendet.
6
Manipulation der Kartendarstellung
Web-Mapping-Funktionalitäten beziehen sich nach [Dickmann2001] zunächst auf
die Manipulation der Kartendarstellung.
Der dargestellte Kartenbereich lässt sich durch "Zooming" vergrößern und verkleinern. Dies wird entweder durch dafür vorgesehene Kontrollelemente ("Controls" bei GoogleMaps) gesteuert, oder aber über Maus-Ereignisse wie z. B. dem
Drehen des Mittelrades.
Wie erwähnt ist die Nutzung aller möglichen Funktionalitäten einer Karten-API
nicht immer zu empfehlen. So ist vor allem bei Seiten, die höher sind als der
Bildschirm des Betrachters, ein Zoom-Effekt auf Basis des Maus-Mittelrades nicht
zu empfehlen. Denn wenn beim unbewussten Herunterrollen der Seite der Mauszeiger über der Karte schwebt, so ändert sich spontan die Funktion des Mittelrades, aktiviert die Zoom-Funktionalität und initiiert eine Ajax-Anfrage und Neuaufbau der Karte. Da dabei meist der Kartenbereich zunächst verschwindet, sind
die meisten Benutzer im ersten Moment im besten Falle irritiert, wenn nicht ver45
wirrt, benutzen das Mausrad, um aus dem Gebiet wieder herauszurollen und
initiieren einen erneuten Zoom. Allgemein sind Doppelbelegungen wie oben beschrieben zu vermeiden und im Zweifelsfalle die gewohnheitskonforme Funktion
zu wählen.
Weiterhin existieren Kontrollelemente (meist Buttons) zur Änderung der BasisKarten-Darstellung. Hier existieren topologische Karten, Straßen- und SatellitenKarten bzw. Kombinationen aus diesen Typen.
Eine weitere Möglichkeit ist das Einbinden von ortsbezogenen Multimedia-Daten
wie Videos oder Wikipedia-Beiträge, deren Darstellung über Checkboxen aktiviert werden kann.
Durch Halten der linken Maustaste über der Basis-Karten-Darstellung lässt sich
der gesamte sichtbare Kartenbereich in der Ebene verschieben ("Dragging"). Auch
hierfür gibt es Kontrollelemente.
Auch Marker und Overlays lassen sich relativ zu den Basis-Karten durch "DragAndDrop" verschieben. Dabei erfolgt in der Regel ein automatisches Nachführen der
Basis-Karten-Darstellung, falls das Objekt aus dem sichtbaren Kartenbereich hinaus verschoben werden soll. Dieser "Panning" genannte Vorgang kann unter Umständen auch ein Nachladen von Karten-Bildmaterial bewirken.
Meist reagieren die Overlays und Marker auf einen Links-Klick sensibel und es
öffnet sich daraufhin ein (weiteres) Overlay in Form eines schließbaren Fensters
("Info-Window"), in dem direkt weitere Informationen angezeigt werden – bis hin
zu eingebundenen Flash-Videos - oder Links zu detaillierteren Informationen.
Dies ist vor allem dann hilfreich, wenn beim direkten Anzeigen dieser Zusatzinformationen eine Überfüllung der Karte entstehen würde.
Der größte Teil aller bisher genannten Funktionalitäten werden von den Frameworks der jeweiligen Web-Map-Services unterstützt. Sie sind also ohne größeren
Aufwand als Funktionalität einbindbar. Benötigt die Darstellung durch Dragging
der Basis-Karten oder Zooming neue Daten, werden diese über Ajax-Anfragen
vom Map-Server abgerufen. Daher sollten die angebotenen Funktionalitäten mit
Bedacht gewählt werden, um die Antwortzeiten der Anwendung so gering wie
möglich zu halten.
7
Hinzufügen von Daten, erweiterte Filterung und Suchfunktionen
Mehr in den Bereich der GIS-Operationen fallen Funktionalitäten, wie das selektierte Anzeigen vorhandener Objekte aufgrund Inhaltlicher bzw. semantischer
Kriterien oder das Hinzufügen von weiteren Objekten.
Die semantische Filterung von Objekten muss vom Entwickler der Applikation eigenständig implementiert werden. Dabei können die Kategorien textbasiert eingegeben, oder vorgegebene Kategorien mit Hilfe von Checkboxen zur Selektion
angeboten werden. Eine Suchanfrage erfolgt dabei meist unter Nutzung der
Ajax-Technologie, um einen vollständiges Laden der Seite zu umgehen.
46
Beim Angebot des Erstellens von Reiseberichten wird u. a. die Möglichkeit gegeben mit Marker verschiedener Symbolik oder Farbgebung mehrere "Point Of
Interest" (POI) auf der Basis-Karte zu lokalisieren und Informationen des damit
assoziierten Info-Window einzugeben.
Manche Anwendungen ermöglichen es dem Benutzer Streckenverläufe auf der
Karte einzugeben. Dies sind Linienzüge, deren Stützpunkte definiert werden. Auf
die gleiche Art und Weise können auch Polygone erzeugt werden, die jeweils
eine "Area Of Interest" (AOI) kennzeichnen.
Zu den Standard-Suchdiensten zählt das Ermitteln von Routen ("Directions") zwischen zwei geographischen bzw. postalisch angegeben Orten. Die Zusatzinformationen, wie Dauer, wichtige Streckenmarkierungen etc. werden i. d. R. außerhalb des Kartenbereichs angezeigt. Auch diese Funktionalität wird teilweise von
den Frameworks unterstützt.
5.2 Beschreibung verwendeter Techniken
Zunächst muss festgelegt werden, auf welcher Basis die Kartendarstellung der
Praxis-Karte erfolgen soll. Die Wahl fällt auf GoogleMaps unter Nutzung der dort
angebotenen JavaScript-Frameworks. Wegen der guten Dokumentation und der
bereits langjährigen Nutzung der API kann sicher davon ausgegangen werden, das
keine größeren Programmierprobleme entstehen werden. Grobe Fehler im
JavaScript-Framework sind mit hoher Wahrscheinlichkeit durch die OpenSource
Nutzung bereits ausgemerzt. Die JavaScript-Bibliothek mit den Basisklassen wird
dynamisch beim Laden der Seite hinzugefügt.
Aufgrund der großen Menge an anzuzeigenden Informationen für eine Praxis bietet sich das Listendesign wie auf der Seite http://www.geocaching.de an. Da jedoch die Kategorien, in die die Praktiken eingeordnet werden zu zahlreich und
abstrakt für leicht ersichtliche Symbolik sind und die Liste der Kategorien vermutlich auch dynamisch gehalten wird, empfiehlt sich die Verwendung KartenExterner Checkboxen und eine Darstellung der so selektierbaren Kategorien in
einem Rahmen mit Rollbalken.
Die Verwendung von Mash-Ups sieht wie folgt aus. GoogleMaps ist durch seine
verteilten Ressourcen bereits Mash-Up basierend. Durch Nutzung des Such-APIs
der Firma Google werden Bilder der Institutionen oder der dazugehörigen Gemeinden direkt innerhalb des Eingabevorgangs ohne zusätzlichen Seitenwechsel
gesucht und zur Auswahl angeboten. Die dort gefundenen direkten URL-Verweise
auf im Web veröffentlichte Bilder werden dann beim Anzeigen der InstitutionsDetails eingebunden.
Mash-Ups werden weiterhin bei der halbautomatischen Festlegung der Institutionsorte verwendet. Durch Nutzung des von Google angebotenen Geokodier-Services werden die Koordinaten entweder sofort exakt ermittelt oder sie bilden
lediglich die Basis für die weitere Festlegung der Institutionskoordinaten durch
47
den Benutzer. Dies ist vor allem dann notwendig, wenn z. B. die angefragte Straße
oder die Hausnummer dem Geokodier-Service nicht bekannt ist. Dann muss der
Benutzer evtl. durch Verschieben des Lokalisierungsmarkers auf der Karte den
Standort genau festlegen. Dies erscheint notwendig vor allem in Ballungsgebieten, in denen mehrere Kirchengemeinden auf engstem Raum anzutreffen sein
werden. Die Zuordnung von Institutionen zu den jeweiligen Landeskirchen wird
manuell mittels DropDown-Selektionsfeld implementiert.
Die von Rails zur Verfügung gestellten Vorlagen für die Modifikation und Listenansichten der Daten sind noch nicht im Web 2.0 – Design. Hier wird eine Verbesserung durchgeführt.
Zur Darstellung des durch den eingestellten Radius begrenzten Bereiches wird
eine Art "Lupe" eingesetzt, die die räumlich nicht relevanten Gebiete halb transparent abdeckt. Relevante Orte sind dadurch ohne Überdeckung sichtbar.
In dieser Arbeit ist es die Praxis, die das zentrale Objekt der Interaktion darstellt. Die Nutzung einer "Sharing"-Funktionalität für diese Objekte könnte unterstützend wirken, da man Mitbenutzer im Rahmen des Verbundprojekts auf dieses
oder jenes Pattern (diese oder jene Praxis) durch einfache Weitergabe einer URL
aufmerksam machen kann, und diese dann ohne Umwege einen direkten Zugriff
auf die Informationsquellen haben. Jedoch würde dies die Einbindung einer MailFunktionalität benötigen, was jedoch nicht innerhalb dieses Teilprojekts geplant
ist. Im Prinzip wird jedoch durch das Zulassen des öffentlichen Zugriffs auf z. B.
die Ressource "Praxis" bereits das als REST-Architektur bezeichnete Prinzip (s. o.)
erfüllt. Durch eine eindeutige URL, wie durch die Architektur verlangt, kann auf
die Detailseite einer Praxis direkt zugegriffen werden, womit die Basis eines
Services bereits gelegt ist.
Insgesamt ergibt sich folgender, prinzipieller Aufbau der Anwendung: (Web-Scraping wird unter Abschnitt 5.5 erläutert)
48
Abbildung 5.2.1: Prinzipieller Aufbau der Anwendung
5.3 Herleitung der erforderlichen Datenbasis
Basierend auf den o. g. Begriffen und Userstories kann nun die Ermittlung der
notwendigen Datenbasis erfolgen. In die Datenbasis sollen dann die Testdaten
halbautomatisch migriert werden können.
Praxis:
Von denen für eine Praxis auf der Quellseite existierenden Informationen wird
die Projektnummer, der Projektname, die Beschreibung bzw. die Bemerkung als
Attribute übernommen. Schließlich wird noch ein Attribut für den externen Verweis auf die Seite der Testdaten benötigt. Jeder Praxis sind Benutzer zugeordnet, die als Autoren fungieren.
Benutzer:
Für einen Benutzer benötigt man auf jeden Fall einen Log-In-Namen für die Anmeldung im System sowie ein Passwort. Weiterhin besitzt der Benutzer eine Berufsbezeichnung, eine Zuordnung zu einer Institution und eine davon unabhän-
49
gige, eigene Adresse. Eine Zuordnung zu einer Institution ist notwendig und folglich immer vorhanden, da darauf die Lokalisierung des Benutzers auf der PraxisKarte basiert.
Institution:
Für eine Institution ist die geographische Lokalisierung elementar wichtig, die
automatisch aus deren Adresse ermittelt und dieser zugeordnet werden soll. Sie
muss eindeutig festgelegt werden. Eine eindeutige Identifizierung erfolgt durch
ihren Namen und den Standort. Weiterhin benötigt man einen Verweis auf das
der Institution zugewiesene Bild, und die Zuordnung zur Landeskirche.
Adresse:
Für die Adresse wird keine Eindeutigkeit verlangt, sondern nur in Bezug auf die
Institutionen.Sie enthält u. a. die gewohnten Attribute Stadt, Straße und PLZ.
Kategorien:
Die Kategorien werden den Testdaten entnommen und besitzen einen eindeutigen Namen. Sie sind nicht frei über die Applikation editierbar. Diese werden den
Testdaten entnommen.
(Autoren)rollen:
Die (Autoren)rollen werden allgemein gehalten, falls noch andere Benutzerrollen
benötigt werden. Dies wären, z. B. aktive Teilnehmer an einer Praxis, die sich als
Ansprechpartner für konkrete Fragen bzgl. der Umsetzung zur Verfügung stellen,
sich jedoch nicht an der Edition der Praxisbeschreibung beteiligen, sonder nur an
deren Kommentierung. Auch diese Rollenbezeichnungen sind fixe, vorgegebene
Daten.
Organisationselemente (hier Landeskirchen):
Sie sind durch ihren Namen eindeutig bestimmt und bilden eine Hierarchie, indem sie einen Verweis auf das Element der höher liegenden Hierarchieebene besitzen (hier die EKD). Den Landeskirchen sind dann die einzelnen Institutionen
zugeordnet.
5.3.1
Das Datenmodell
Die Speicherung der hierarchischen Bereichsstruktur der Landeskirchen und ihrer
Gemeinden wir auf Basis des RoR-Plugins "acts_as_tree" implementiert, das bereits Methoden zur Navigation innerhalb eines Hierarchiebaumes anbietet.
Anschließend wird das Ergebnis des Datenmodells sowie einige Besonderheiten
erläutert, die nicht aus dem Diagramm hervorgehen. Die Multiplizitäten sind im
Diagramm angegeben.
50
Die Bezeichner innerhalb der Applikation sind sämtlich die korrespondieren englischen Begriffe, da die Funktionalität des automatisierten Frameworks von RoR
auf programmatischer Konstruktion von Plural-Ausdrücken zur Reflexion von u. a.
Klassennamen und Pfadnamen basiert (siehe Beschreibung der vorhandenen
Techniken). Konflikte bei der Verwendung von nicht englischen Ausdrücken soll
dabei vermieden werden.
Für folgende Begriffe ist die Übersetzung der Attribute nicht eindeutig, und wird
daher explizit genannt:
Praxis: ("practice") Die Testdaten besitzen für jede Praxis einen Schlüssel der als
"remote_identifier" gespeichert wird. Die Attribute der Testdaten Projektname,
Beschreibung bzw. Bemerkung werden als "title" ,"abstract" bzw. "description"
bezeichnet. Um einen direkten Verweis auf die gesamte Beschreibung der Praxis
auf der Seite der Testdaten zu ermöglichen wird ein Attribut "url_to_remote"
vorgehalten, das aber nicht im definierten Sinne Verwendung findet, da tlw.
lediglich auf die Homepage verwiesen wird. Dies ist nicht anders lösbar, da die
gesuchten Daten auf eine der Seiten der Testdaten nur nach vorheriger Anmeldung erreichbar sind.
Benutzer ("user") besitzen zusätzliche Attribute zur Speicherung von Informationen für die von einem Benutzer durchgeführten Authentifizierung, die von einem
RubyOnRails-Plugin verwaltet wird.
Die Assoziation zwischen Praxis und Benutzer werden in der Relationstabelle
"participants" gespeichert (an der Praxis beteiligte). Die Relation hat die Rolle
des Benutzers bzgl. einer Praxis als Attribut.
Um evtl. andere Rollen außerhalb der Kategorie "Autor" zu ermöglichen (siehe
Herleitung der Zielobjekte) werden die Autorenrollen in der Tabelle "roles" gespeichert.
Die Assoziation zwischen Praxis und Institution (=Praxisstandort)werden in der
Relationstabelle "practicelocation" gespeichert.
Die Rekursivität der "division"-Tabelle (Organisationselemente) ermöglicht den
Aufbau eines allgemeinen Baumes. Die Einhaltung der Regeln für einen allgemeinen Baum mit mehreren Kind-Knoten, vor allem die Verhinderung von Zirkelschlüssen, muss durch die Applikationslogik sichergestellt werden.
Die geographischen Attribute bei der Adresse sind die im Goolge-Map-API verwendeten Größen; Längen- und Breitengrad ("longitude" , "latitude"). Sie werden
für Benutzer nicht genutzt, da deren Lokalisierung sich immer auf die ihnen zugeordnete Institution bezieht.
51
Alle anderen Adressen-Attribute können verwendet werden, falls sie sich von der
der Institution unterscheiden. Diese personenbezogenen Daten werden dann als
Kontaktinformationen angezeigt.
Abbildung 5.3.1.1: Die relevanten Teile des Datenmodells
52
Die Tabelle "session" wird von der Sitzungsverwaltung des Frameworks benötigt,
das alle zu persistierenden Zustandsdaten in der Datenbank und nicht in Cookies
ablegt werden.
5.4 Beschreibung des Benutzerinterface-Designs
In diesem Abschnitt wird das Design der Anwendung beschrieben und in welchen
Teilen den Userstories Rechnung getragen wird.
1
Der Seitenrahmen
Für die gesamte Anwendung ist der obere Bereich der Seite einheitlich. Er enthält den Titel der Anwendung, ein Logo und das Haupt-Navigationsmenü. Auf diesem ist stets der Titel der aktuellen Seite zu erkennbar.
Abbildung 5.4.1: Seitenrahmen mit Hauptmenü
Im Seitenrahmen wird die Möglichkeit des sofortigen Abmeldens eingebaut, das
jeder Zeit das Verlassen der Applikation ermöglicht. Dieser ist oberhalb der
Haupt-Navigationsleiste angebracht.
Für Nachrichten beim erfolgreichen Absichern von Daten oder im Falle von Fehlermeldungen wurde unter dem Menü ein Bereich freigehalten, damit der Benutzer immer die Informationen an der selben Stelle finden kann.
2
Die Startseite
Es existiert die Möglichkeit des Einloggens als registrierter Benutzer mit einem
speziellen Benutzernamen und einem Passwort. (US18.)
Aufgrund des Anmeldeverfahrens über einen Verantwortungsträger der Institution ist das Anlegen eines Benutzerkontos durch den Benutzer selbst nicht erlaubt.
Allerdings wird die Möglichkeit gegeben direkt auf die Seite der Praxis-Karte und
die Übersicht über die Praktiken zu navigieren (US17.). Dabei erfolgt ein indirekter Login als Gast-Benutzer.
53
3
Die Praxis-Karte
Abbildung 5.4.2: Initialer Zustand der Praxis-Karte
54
Die Abbildung 5.4.2 zeigt den initialen Zustand der Praxis-Karte nach dem Laden
der Seite: Der gelbe Marker in der Mitte der Karte zeigt bei Gastnutzern den geographischen Mittelpunkt aller Institutionen und bei angemeldeten Nutzern den
Ort der ihm zugeordneten Institution (US8.). Die Institutionen sind als violette
Kirchensymbole markiert (US7.). Durch Mausklick auf die Symbole (Marker) wird
ein Info-Window mit dem Namen der Institution, dem zugeordneten Bild, den
dort durchgeführten Praktiken sowie den Ansprechpartnern angezeigt. (siehe
Abb. 5.4.2)
Die Praxis-Tabelle als wichtigstes Element ist links oben lokalisiert (US6.). Die
Nutzer der Anwendung werden primär aus dem deutschen Umfeld kommen daher
wird eine links oben -> rechts unten Orientierung beim Lesen erwartet. Beim
Überstreichen einer Zeile mit dem Mauszeiger wird die Zeile hervorgehoben (siehe Praxis "Titel 2") und die Institutionen, zu denen die Praxis zugeordnet ist,
durch grüne Marker statt der Kirchensymbole gekennzeichnet. Befindet sich der
Mauszeiger außerhalb des Praxis-Tabellenbereichs werden die grünen Marker
wieder gegen die Kirchensymbole ausgetauscht. Die Bedienelemente zur Filterung der angezeigten Praktiken und Institutionsmarkierungen sind in den Spalten
rechts und links von der Karte angebracht. Dabei wird eine klare Trennung zwischen den inhaltlichen (US10., US11.) und geographischen Filtern (US12., US13.)
eingehalten, um dem Nutzer eine optimale funktionale Orientierung anzubieten.
Die für die Filter beider Seiten gemeinsam gültigen Bedienelemente sind mittig
über der Karte angebracht. Diese zentrale Filter-Deaktivierung sowie die Möglichkeit des vollständigen Zurücksetzens der Filtereinstellungen berücksichtigt
das oben bereits beschriebene Benutzerverhalten, im Zustand eines nicht gewünschten Ergebnisses und zu vielen verschiedenen Filtereinstellungen ohne Umwege auf die Ausgangssituation zurückzukehren, um von dort nochmals zu starten. (US15., US14.)
Ebenfalls mittig wird bei jeder Ajax basierten Anfrage, die im Hintergrund abläuft ein Progress-Indikator eingeblendet, um dem Prinzip der sofortigen Reaktion auf Benutzer-Aktionen zu genügen1.
Jeder Filter ist durch eine Checkbox "aktiv" separat deaktivierbar. (US14.)
Weiterhin wurde darauf geachtet, unbeabsichtigte Aktivitäten des User zu verhindern. Dies soll vor allem zur Reduzierung von Ajax-Anfragen führen. Dazu wird
z. B. die Zoom-Funktionalität des Mausrads innerhalb des Kartenbereichs deaktiviert. Zoom-Vorgänge muss der Benutzer explizit an den dafür vorhandenen Kontrollelementen auf der linken Seite initiieren.
Es existieren zwei Inhaltsfilter. Der eine ist der Kategorien-Filter, bei dem mittels Checkboxen die Kategorien gewählt werden können. Der andere ist der
Stichwortfilter. Um die Gültigkeit von Eingaben darzustellen bedarf es einer weiteren Anzeigefläche unterhalb "Aktueller Filterbegriff". Dort wird der Begriff an1 siehe [ScoNei2009]; S. 286 Principle: "React Immediately"
55
gezeigt, der bei der Filterung der aktuellen Praktiken verwendet ist. Bei Eingabe
eines neuen Begriffes wird der aktuelle Filterbegriff zusätzlich weiterhin angezeigt. Falls das Eingabefeld verändert wird, ohne die Änderung durch den Knopf
"Praktiken filtern" zu senden, hat die Eingabe keine Bedeutung. Durch den Knopf
"Löschen" wird der aktive Begriff und das Eingabefeld gelöscht. Es findet keine
Filterung mehr statt. Unterstützt wird die Eingabe durch Ajax-basiertes AutoVervollständigen auf Basis der Textattribute aller Praktiken.
Abbildung 5.4.3: Gültiger Filterbegriff "Titel"
Ist die Checkbox "exakter Titel" gewählt, so wird der eingegebene Text direkt mit
dem Titeln der Praktiken verglichen. Dies ist notwendig, falls ein Titel Teil eines
längeren Titels ist. Ist die Option nicht gewählt, so wird geprüft ob der Begriff in
einem der drei Text-Attributen der Praxis vorkommt.
Abbildung 5.4.4: Farbige Kennzeichnung eines noch nicht gültigen Eintrages
Ein anderer Weg wird bei der Eingabe des Radius gegangen (US12.; siehe
Abb. 5.4.4), da das Feld direkt mit dem Slider als Ausgabefeld korreliert ist, aber
auch als Eingabefeld dient. Ein noch nicht abgesendetes und daher nicht gültiger
Wert des Radius - weil nicht mit dem Slider und der Darstellung übereinstimmend - wird farblich hinterlegt und die Knöpfe "Setzen" und "Abbrechen" werden
aktiviert. Durch "Abbrechen" wird der ursprüngliche Wert (der Darstellung und
damit des Sliders) wieder angezeigt.
56
Abbildung 5.4.5: DragAndDrop des Benuzterstandorts
Weiterhin ist es möglich den Standort des gelben Standort-Marker durch
DragAndDrop zu verändern (US9.). Dabei wird die "Lupe" mit verschoben. Stößt
sie an die Grenzen der Karte, bewegt sich die darunter liegende Basis-Karte mittels Panning entgegen der Drag-Bewegung. Während des Vorgang werden alle
existierenden Institutionen angezeigt. Dies gibt einen Überblick, mit dessen Hilfe
der Benutzer eine bessere Entscheidung über den Zielort und somit über die
Filterung treffen kann (siehe Information Seeking Mantra). Nach Erreichen des
neuen Standorts wird die dort gültige Postleitzahl ermittelt. Im Info-Window des
Markers wird, soweit vorhanden, die dortige Adresse angezeigt (Abb. 5.4.2). Der
Standort wird in die Mitte der Karte verschoben.
Eine weitere Möglichkeit den Standort festzulegen ist die Eingabe der Postleitzahl des gewünschten Zielortes. Es folgt ein direkter Wechsel zu diesem Ort unter Berücksichtigung des Umgebungsfilters.
Die Baumansicht (siehe Abb. 5.4.6) auf der rechten Seite der Karte ermöglicht
das Deselektieren einzelner Landeskirchen-Gebiete. Standardmäßig sind alle Gebiete zur Anzeige selektiert (US13.). Die im Baum angezeigten Institutionen unterliegen ebenfalls der Filterung. Es werden folglich nur die Institutionen angezeigt, die auf der Karte zu sehen sind. Durch einen Maus-Klick auf die Institutionen im Baum wird das zur Institution gehörige Info-Window angezeigt.
57
Abbildung 5.4.6: Baumansicht der Institutionen mit geöffnetem Info-Window
Die Einträge in der Praxis-Tabelle sind als links ausgelegt. Per Maus-Klick öffnet
sich ein Menü mit drei Aktionsangeboten (außer dem Schließen des Menüs) (Abb.
5.4.7) . Der erste Eintrag ist selbsterklärend. Die anderen Aktivitäten sind quasi
nur "Makros" für die Filterung. Der zweite Eintrag ermöglicht ein exaktes Filtern
des Titels und zwar nur in der aktuell sichtbaren Umgebung. Dazu wird der Stichwortfilter programmatisch auf den angeklickten Titel gesetzt und die "exakter
Text"-Option gewählt und das Filtern angestoßen. Der dritte Eintrag ändert zusätzlich noch den Radius, sodass alle Institutionen mit dieser Praxis sichtbar werden (US16.). Ist nur eine Institution mit dieser Praxis vorhanden (diese ist dann
natürlich sichtbar) ändert sich nichts.
Abbildung 5.4.8. zeigt den Zustand nach auswählen der Praxis "Titel 1". Es wird
ein Knopf oberhalb der Praxis-Tabelle angezeigt, durch den sich die Titel-Filterung Rückgängig machen lässt, und der daraufhin wieder verschwindet.
58
Abbildung 5.4.7: Flyout-Menü für die Praktiken
Abbildung 5.4.8: Zustand nach Aktivierung der Filterung einer Praxis
59
4
Anlegen einer Institution
Abbildung 5.4.9: Anlegen einer neuen Institution: Initialzustand
Besonderes Augenmerk wurde auf die Ablaufsteuerung bei der Implementierung
der Eingabemaske für Institutionen gelegt, daher wird hier die Benutzeroberfläche kurz erläutert (siehe Abb. 5.4.9). Hier findet die Implemetierung der Userstories US2. und US3. statt.
Zunächst ist das Speichern der Institution deaktiviert, weil die geforderten Eingaben noch nicht vorhanden ist. Ausgangspunkt ist explitzit die Postleitzahl. Diese wird als erstes eingegeben und daraus über eine Ajax-Anfrage an den Geoservice von Google die dazugehörige Stadt ermittelt und in das entsprechende Feld
eingetragen. Damit wird auch die Eingabe der Straße freigegeben (Abb. 5.4.10).
Ist diese eingegeben, so wird durch drücken des Knopfes "Koordinaten ermitteln"
eine detailliertere Anfrage an den Geoservice gesendet. Ist die Adresse genau
bekannt, werden die Koordinaten direkt übernommen. Eine grüne Nachricht und
das Ändern des Markersymbols zu einem Punkt informiert den Benutzer über das
60
erfolgreiche Ermitteln des Standorts (Abb. 5.4.12). Ist jedoch z. B. die Hausnumgeändert, und der Benutzer
kann den genauen Standort durch DragAndDrop festlegen(Abb 5.4.11).
Es erfolgt eine Rücküberprüfung, ob bei den neuen Koordinaten die Straße noch
immer stimmt. Im negativen Fall wird der Benutzer mit einer roten Schrift zur
Abbildung 5.4.10: Freigabe aller Adressfelder zur
Koordinatenermittlung
Abbildung 5.4.11: Genaue Adresse nicht gefunden
61
Überprüfung aufgefordert, es muss jedoch keine Änderung vorgenommen werden. Nach Eingabe des Namens der Institution kann bereits die Informationen gespeichert werden. Ohne explizite Eingabe der Landeskirche wird die Institution
zu einer unbekannten Landeskirche zugeordnet. Bei der Festlegung des Bildes
hat der Benutzer die Wahl ein eigenes Bild auf den Applikationsserver zu laden
oder eine Suchanfrage auf Basis der bereits eingegebenen Informationen zu starten. Dazu wird aus der Adresse und dem Namen der Institution eine Standardanfrage zusammengestellt, die jedoch editiert werden kann und die mit "Anfrage
Senden" gestartet wird. Wird aus dem Suchergebnis ein Bild ausgewählt, so übernimmt die Anwendung beim Speichern lediglich die URL des Bildes und stellt das
Bild auf dieser Basis dar. Der Endzustand nach Eingabe aller möglichen Felder
zeigt Abb. 5.4.12. Fehlt eine geforderte Eingabe, wird dies mittels einem Warnhinweis dem Benutzer mitgeteilt und das Speichern wird unterbrochen. Beim
Speichern (also Senden der Daten an den Server) wird dann überprüft, ob sich an
dem Ort bereits eine Institution befindet. Das Sichern wird verwehrt und der Benutzer informiert, falls dem so ist.
Abbildung 5.4.12: Anlegen einer neuen Institution vor der Speicherung
62
5
Die Anzeige - und Eingabeseiten für Daten
Die Eingabeformulare der Objekte "Benutzer" und "Praxis" sind Standardlayouts
des RoR-Frameworks und werden hier nicht dargestellt. Sie implementieren die
Userstories US1., US4. und US5.
Beim Layout der Übersichtstabellen werden die Erkenntnisse aus [Victor2006]
weitgehend umgesetzt. Im Web 2.0 Design wird empfohlen Aktivitäten mit so
wenig Klicks und möglichst ohne erneutes, vollständiges Seitenladen zu unterstützen. Ein Beispiel hierfür ist "in place editing", also das direkte Verändern von
Inhalten z. B. in Tabellen. Dadurch wird Manipulation und Informationsaufnahme
in einer Oberfläche integriert. Diese Kombination kann leicht zu einem schlechten Design führen. In [Victor2006] wird eindringlich davor gewarnt, die Darstellung der Informationen zugunsten einer ausgefeilten Darstellung der Manipulationsmöglichkeiten der Informationen zu vernachlässigen. Der Autor fokussiert dabei auf das primäre Ziel des Benutzers: Sein mentales Modell zu modifizieren,
also zu lernen bzw. Informationen zu sammeln und einzuordnen. Erst zweitrangig
sollen die zur Manipulation verwendeten Objekte auffallen:
"Much current software fulfilling these needs [of learning] presents mechanical metaphors and objects to manipulate, but this is deceiving. People
using this [information] software do not care about these artificial [manipulation] objects; they care about seeing information and understanding
choices—manipulating a model in their heads." [Victor2006]
Daher erfolgt in diesem Design eine Trennung zwischen den Elementen zur Manipulation der Informationen und der Darstellung der Informationen, soweit möglich. Veränderungen der Inhalte wird, auch aufgrund der Komplexität einiger Dateneingaben, einheitlich auf einer separat zu ladenden Seite, also nicht in den
Übersichtslisten angeboten.
Im Rahmen der Forderung nach der Berücksichtigung des "sozialen Objekts" (siehe Kapitel 3.1 Erläuterung zum Begriff "Web 2.0") wird empfohlen: "Weisen Sie
den sozialen Objekten einen URL zu." ([PorEng2008];S. 54). Aus diesem Grund
wird der direkte Verweis auf eine Detailseite der Praxisbeschreibung vorgehalten. Diese kann dann einfach weitergegeben werden. Die momentane Konfiguration der Quellseite lässt dies aktuell nicht zu, weshalb nur der Verweis auf
den Auszug der Beschreibung im Datenpool der hier erstellten Applikation, und
ein Verweis lediglich auf die Homepage der Quellseite verwendet wird.
Bis auf die Übersichtsliste und die Details der Praktiken sind sämtliche andere
Seiten der Datenverwaltung nur für angemeldete Benutzer zugänglich, nicht aber
für Gastnutzer. Auch die dazugehörigen Navigationsmenü-Einträge werden für
Gastnutzer nicht angezeigt.
63
5.5 Besondere Implementierungsdetails
Um die Einschränkung durch die freie Nutzung des GoogleMaps-Services zu berücksichtigen muss für nicht registrierte Benutzer ein direkter Zugang zur Praxis-Karte
vorgehalten werden. Deshalb muss eine Login-Verwaltung existieren, die einen
Gastbenutzer von einem registrierten Benutzer unterscheiden kann. Findet kein Login statt, wird der Benutzer beim direkten Zugriff auf die Praxis-Karte automatisch
als Gast registriert. Dieser spezielle Benutzer hat wesentlich eingeschränktere
Rechte. Er darf nur lesend auf die Praktiken und auf die Praxis-Karte zugreifen. In
den Informationsfenstern der Praxis-Karte werden nur minimale personenbezogene
Daten dargestellt (nur Nachname), um dem Datenschutzforderungen nach zu kommen. Registrierten Benutzer werden dagegen alle Kontaktdaten angezeigt.
Die Templates des RoR-Frameworks zur Darstellung von Informationen aus der
Datenbank sind sämtlich tabellenbasierend. Dies entspricht nicht mehr den Standards für eine gute Übersichtlichkeit, wie sie für Benutzerfreundlichkeit gefor-
Abbildung 5.5.1: Tabellenlayout nach Vorlage des RoR-Frameworks
dert ist. Daher wurden die Übersichtsanzeigen entsprechend den Empfehlungen
aus [Victor2006] und [Fried2009] in Form von "Zebra-Listen" umgearbeitet. Die
Endform ermöglicht das sofortige Wahrnehmen mehr relevanter Informationen
als bei der herkömmlichen Tabellenform. So sind auch Expertise der Autoren und
Institutionen ebenfalls einfach sichtbar. Alle wichtigen Informationen sind im
neuen Layout auf der linken Seite einer Listenzeile. Die Hyperlinks für die möglichen Funktionalitäten sind ebenfalls sämtlich links platziert. Ein nach rechts Rollen z. B. bei langen Titeln oder zur Nutzung der Funktionalitäten ist so nicht
mehr nötig. Unterschiedliche Typographie helfen zusätzlich beim Lesen.
Eine Herausforderung war die Implementierung des "Lupeneffekts" oder besser
des Ausblend-Effekts. Aufgrund der schlechten Performance der JavaScript-Engine des Internet-Explorers (als der relevanteste Browser), musste eine Rechenoptimierung für die Darstellung gefunden werden. Daher wurden zwei Alternativen
eingebaut. Einmal einer bildbasierte Lösung, die flächendeckend arbeitet und
einmal durch Anzeige von einfachen, schnell berechenbaren nicht flächigen Polylines.
64
Abbildung 5.5.2: Tabellenlayout nach Web 2.0 Designprinzipien
Das Dry-Prinzip (Don't repeat yourself), das eines der Grundprinzipien des RoRFramework ist, musste für die Berechnung des Abstandes von Institutionen zum
Standpunkt des Benutzers missachtet werden. Der Grund liegt in der sonst nicht
zu gewährleistenden Performance beim Verschieben des Standorts bzw. einstellen des Radius sowie der darauf folgenden Filterung der Daten auf Basis der veränderten Werte per Ajax-Anfrage. Würde stetig für jede Standort- bzw. RadiusÄnderung eine Ajax-Anfrage zu starten wäre der kontinuierliche Lupen-Vergrößerungs-Effekt nicht realisierbar. Daher werden die Institutionsmarkierungen aufgrund von Berechnungen auf der Clientseite aus- bzw. eingeblendet. Andererseits muss das entsprechende Filterungsergebnis auch auf dem Server zur Verfügung stehen, da damit auch die Filterung der Praxis-Tabelle erfolgt. Um bei der
zu erwartenden Anzahl der Institutionen die Ajax-Anfrage im vertretbarer Größe
zu halten, ist also eine korrelierte Berechnung (nur mit den Daten Radius und
Geo-Koordinaten des Benutzerstandortes) auf dem Server nötig.
Bei der Suche nach Bildern wir noch eine zweite Technik angewendet, die sich
"Web Scraping" nennt. Dabei wird durch Parsen auf Basis von regulären Ausdrücken Daten aus normalen Webseiten extrahiert die das Ergebnis einer normalen Seiten-Anfrage an den Server sind. Diesem Verfahren liegt also kein API zugrunde. Dabei muss zunächst eine Regelmäßigkeit in der Darstellung der Daten
erkennbar sein. In diesem Falle sind es Standard-Suchanfragen an die BilderSuchmaschine http://elzr.com/imagery. Die Ergebnisseiten enthalten dabei direkte Verweise auf die Zielbilder, die es zu extrahieren gilt. Imagery bietet, anders als Google, keine Such-API mit einer RESTfull-Service Schnittstelle an, der
Standard-Seitenaufruf kann jedoch ähnlich diesem Prinzip der einfachen URL-Erstellung mit Parametern und einer Server-Anfrage mit GET-Verb erfolgen. Imagery lieferte bei stichprobenartigen Suchanfragen leicht bessere Ergebnisse in den
ersten Treffern. Daher lohnte sich der Aufwand des "Web Scraping" der Daten von
Imagery, um diese Ergebnisse schon bei der ersten Anfrage mit einbeziehen zu
können.
65
6.
Zusammenfassung
6.1 Kurzfassung des Problems und wie es gelöst wurde
Ziel der Arbeit war die Analyse, Design und Implementierung einer Anwendung zur
Visualisierung von geographisch lokalisierbaren Beiträgen einer Web-Community.
Dabei sollte die Partner-Community des Verbundprojekts Patongo als konkreter
Anhaltspunkt dienen. Die getroffenen Designentscheidungen wurden durch Literatur und dem Vergleich mit existierenden Implementationen untermauert.
Dazu wurden zunächst die Anforderungen aus den zu unterstützenden Szenarien
unter Berücksichtigung der im Verbundprojekt adressierten Community abgeleitet.
Daraufhin wurde der aktuelle Stand der Forschung recherchiert. Die dort verwendeten Techniken und Designs bildeten dann die Grundlage für die Designentscheidungen, die dann zur Implementierung der Anwendung führten. Den Abschluss bildete die schriftliche Aufarbeitung des Projekts.
6.2 Offene Fragen für weitere Abschlussarbeiten
Folgende Funktionalitäten könnten das vorhandene Tool zusätzlich zur geographischen Visualisierung sinnvoll erweitern.
Es wäre zu überlegen, ob es sinnvoll ist mittels eines Mash-Ups, das auf andere
Community-Seiten zugreift, den Online-Status, der dort gemeldeten Benutzer,
hinzuzufügen, um die Wahrnehmbarkeit der Aktivitäten dieser Mitglieder im Sinne einer Group-Awareness darzustellen.
Es sollte untersucht werden inwieweit eine Tag-Cloud auf der Seite der PraxisKarte zusätzlich zu der Kategorisierung einen Mehrwert bringt. Als Quelle könnte
die im Verbundprojekt geplante Datenbasis des Semantischen Netzes genutzt
werden, oder ob eher ein Querverweis auf die Seite der Praxis-Karte aus dem
Semantischen Netz heraus ausreichend ist.
In Hinblick auf eine mögliche Zuordnung von Institutionen zu den jeweiligen Landeskirchen könnte die Nutzung des Spatial Data Supports, der in MySQL enthalten
ist für die Speicherung der Koordinaten und darauf basierend Enthaltenseins-Anfragen von Vorteil sein. Nach einer Ermittlung der genauen geographischen
Grenzverläufe der Landeskirchen mittels Definition über geokodierte Polygone,
könnte eine automatische Einordnung von neuen Institutionen erfolgen.
66
7.
Quellenverzeichnisse
7.1 Literaturverzeichnis
[Alby2007]
ALBY, T. 2007"Web 2.0". Konzepte, Anwendungen,
Technologien. München.
[Arnold1988]
ARNOLD, W. 1988 "Lexikon der Psychologie". Neuausg. Freiburg im Breisgau.
[BluPel2009]
BLUMAUER, A. & PELLEGRINI, T. 2009 "Social Semantic Web". Web 2.0 - was nun? Berlin.
[WWW] http://www.gbv.de/dms/bsz/toc/bsz266277306inh.pdf.
[Chen2006]
CHEN, C. 2006
"Information visualization".
Beyond the horizon. 2nd ed. New York.
[Dickmann2001]
DICKMANN, F. 2001 "Web-Mapping und Web-GIS". 1.
Aufl. Braunschweig.
[EckBau2004]
"Extreme programming and agile processes in software engineering". 5th international conference, XP
2004, Garmisch-Partenkirchen, Germany, June 6 - 10,
2004 ; proceedings. Berlin. (Lecture notes in computer
science). [WWW] http://dx.doi.org/10.1007/b98150.
[Fried2009]
FRIEDMAN, V. 2009 "Praxisbuch Web 2.0". Moderne
Webseiten programmieren und gestalten ; [Web 2.0Design verstehen und realisieren ; Schritt für Schritt
zur aktuellen Webseite ; Farb- und Seitengestaltung
mit Photoshop ; DVD-ROM Video-Lektionen zu Adobe
Photoshop und CSS]. 2., aktualisierte und erw. Aufl.
Bonn.[WWW]
http://www.gbv.de/dms/ilmenau/toc/578429659.PDF.
[Foen032006]
FOENIX-RIOU, B. 2006. Visualisation Technologies.
When Search Engines Play at Maps. ONLINE, 2006
(Mar/Apr), S. 29–32.
[Gunt062005]
GUNTZEL, S. 2005. 'Green Maps' motivate activism.
National Catholic Reporter. 17. Juni. [WWW]
http://findarticles.com/p/articles/mi_m1141/is_32_4
1/ai_n14814075/. (11. Oktober 2009).
67
[HaaSchwaWess2004]
HAAKE, J., SCHWABE, G. & WESSNER, M. 2004 "CSCLKompendium". Lehr- und Handbuch zum computerunterstützten kooperativen Lernen. München.
[WWW] http://www.gbv.de/dms/bsz/toc/bsz107644134inh.pdf.
[JanSchar1999]
JANSEN, A. & SCHARFE, W. 1999 "Handbuch der Infografik". Visuelle Information in Publizistik, Werbung
und Öffentlichkeitsarbeit. Berlin. [WWW] http://www.gbv.de/dms/hebis-darmstadt/toc/75773961.pdf.
[KorZeh2008]
KORDUAN, P., ZEHNER, M. L. & KORDUAN-ZEHNER.
2008 "Geoinformation im Internet". Technologien zur
Nutzung raumbezogener Informationen im WWW. Heidelberg. [WWW]
http://www.gbv.de/dms/ilmenau/toc/525124233.PDF.
[KramC't202009]
KRAMER, A. 2009. Ortung muss sein. Geräte und Software, um Fotos mit Geodaten zu bestücken. c't, 2009
(20), S. 132–141.
[LukCSCW07]
LUKOSCH, S. 04/07 "Computerunterstütztes kooperatives Arbeiten - CWCW". Script zum Kurs 1880. Hagen:
Fernuniversität Hagen.
[ManMus2002]
MANHARTSBERGER, M. & MUSIL, S. 2002 "Web usability". Das Prinzip des Vertrauens. 1. Aufl. Bonn.
[MorOtt2008]
Morsy, H. & Otto, T. 2008 "Ruby on Rails 2". Das Entwickler-Handbuch ; [Installation, Programmierung, Administration ; umfangreiche Einführung in Ruby und
MVC ; inkl. Performance, Sicherheit, Plug-ins]. 1. Aufl.
Bonn.
[MSInc122006]
"Enterprise_Software_Roadmap_GER.pdf". [WWW]
http://www.hansevision.net/hansevision/Portals/0/do
wnloads/ppt_etc/Enterprise_Software_Roadmap_GER.
pdf. (14. Oktober 2009).
[PorEng2008]
Porter, J. & Engel, R. 2008 "Social Web design". Erfolgreiches Webdesign im Web 2.0 ; [die Interaktion zwischen den Usern als zentraler Bestandteil ihres Designs
; die wirklichen Gründe, warum Menschen online gehen ; erfolgreich von null auf tausend User]. 1. Aufl.
Bonn.[WWW]
http://www.gbv.de/dms/bs/toc/578545020.pdf.
68
[SchaTosWuJai2007]
SCHARL, A. et al. 2007
"The Geospatial Web". How
Geobrowsers, Social Software and the Web 2.0 are
Shaping the Network Society. London. (Springer11645 /Dig. Serial]). [WWW]
http://dx.doi.org/10.1007/978-1-84628-827-2.
[ScoNei2009]
SCOTT, B. & NEIL, T. 2009 "Designing web interfaces".
[principles and patterns for rich interactions]. 1. Aufl.
Beijing.
[Schuem092009]
"Forschung im PATONGO-Projekt". [WWW] http://patongo.fernuni-hagen.de/forschung.html. (1. November
2009).
[SchuemLuk2007]
SCHÜMMER, T. & LUKOSCH, S. 2007
"Patterns for
computer-mediated interaction". Chichester. [WWW]
http://www.loc.gov/catdir/enhancements/fy0739/200
7009229-b.html.
[Shneid052007]
"Web Science: A Provocative Invitation to Computer
Science". [WWW]
http://www.cs.umd.edu/~ben/ShneidermanCACM62007.pdf. (13. August 2009).
[Shneid121999]
SHNEIDERMAN, B. 1999
"The Eyes Have It: A Task by
Data Type Taxonomy for Information Visualizations".
(1. November 2009).
[Victor2006]
"Magic Ink: Information Software and the Graphical
Interface". (5. August 2009).
7.2 Quellen für Design-Elemente und Teile des Quellcodes
●
Aktivitäts-Indikator von Martin Jerpersen:
http://mentalized.net/activity-indicators/
●
dtree von Geir Landrö:
http://www.destroydrop.com/javascripts/tree/
69
7.3 Abbildungsverzeichnis
Abbildung 2.1.1: Ergebnis-Visualisierung bei www.kartoo.com....................12
Abbildung 2.1.2: Wertabhängige Verzerrung der Weltkarte bei www.Worldmapper.com......................................................................................13
Abbildung 2.2.1: Erfüllung der Anforderungen durch geographische Karten......19
Abbildung 3.2.1: Verteilung von Bekannten in Deutschland.........................25
Abbildung 3.2.2: Zeitnahe Darstellung von Beiträgen in twittermap.de...........26
Abbildung 3.2.3: Benutzer-generierte Karte bei www.Tagzania.com..............27
Abbildung 3.2.4: Reiseroute bei TravBuddy............................................28
Abbildung 3.2.5: Kategorisierte POIs mit Info-Windows bei SlowTravel...........28
Abbildung 3.2.6: Topographische Karte mit Joggingroute bei jogmap.de.........29
Abbildung 3.2.7: Umfangreiche Informationsdarstellung bei GeoChaching.......30
Abbildung 3.2.8: Kollaborative Karte zur OpenGreenMap...........................33
Abbildung 3.2.9: Suchfunktion...........................................................33
Abbildung 5.1.1: Prinzip der Web-Service-Server-Nutzung..........................43
Abbildung 5.2.1: Prinzipieller Aufbau der Anwendung................................49
Abbildung 5.3.1.1: Die relevanten Teile des Datenmodells..........................52
Abbildung 5.4.1: Seitenrahmen mit Hauptmenü......................................53
Abbildung 5.4.2: Initialer Zustand der Praxis-Karte..................................54
Abbildung 5.4.3: Gültiger Filterbegriff "Titel".........................................56
Abbildung 5.4.4: Farbige Kennzeichnung eines noch nicht gültigen Eintrages....56
Abbildung 5.4.5: DragAndDrop des Benuzterstandorts...............................57
Abbildung 5.4.6: Baumansicht der Institutionen mit geöffnetem Info-Window...58
Abbildung 5.4.7: Flyout-Menü für die Praktiken.......................................59
Abbildung 5.4.8: Zustand nach Aktivierung der Filterung einer Praxis.............59
Abbildung 5.4.9: Anlegen einer neuen Institution: Initialzustand..................60
Abbildung 5.4.10: Freigabe aller Adressfelder zur Koordinatenermittlung........61
Abbildung 5.4.11: Genaue Adresse nicht gefunden ..................................61
Abbildung 5.4.12: Anlegen einer neuen Institution vor der Speicherung..........62
Abbildung 5.5.1: Tabellenlayout nach Vorlage des RoR-Frameworks...............64
Abbildung 5.5.2: Tabellenlayout nach Web 2.0 Designprinzipien...................65
70

Similar documents