Diplomarbeit Geospatial Informationaccess

Transcrição

Diplomarbeit Geospatial Informationaccess
<diplomarbeit>
Geospatial Informationaccess
Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage
mittels mobiler Geräte
Autor/Urheber:
Claudius Coenen
Kontakt:
[email protected]
Matrikelnummer:
703 758
Betreut durch:
Prof. Dr. Arnd Steinmetz
Prof. Mike Richter
Version:
12.06.2008 - Version 1
Lizenz:
Creative Commons Namensnennung-Weitergabe unter gleichen Bedingungen 2.0 Deutschland Lizenz (siehe Anhang)
http://creativecommons.org/licenses/by-sa/2.0/de/
Betreuer:
Diplomarbeit / SS 2008
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Vorwort
Inhalt
Vorwort
Danke
Executive Summary
Konventionen
Selbstorganisation
Exposé
Erklärung der Eigenständigkeit
5
6
7
8
9
10
12
Recherche
Bestandsaufnahme
Verwandte Projekte
Client-Plattformen
Endgerätemarkt
Datenaustausch
Servertechnologien
Ortungstechniken
Recherche-Ergebnisse
Entscheidungen
J2ME im Detail
REST im Detail
Ruby on Rails im Detail
13
14
14
19
21
21
22
23
24
24
24
25
25
Konzept
Definitionen
Interaktionskonzept
Anwendungsbeispiele
Use Case-Beschreibung
Akteur: Client (selbständig)
Akteur: Benutzer (regelmäßig)
Akteur: Benutzer (selten)
Akteur: Benutzer (im Web)
Akteur: Admin
Weitere Akteure
Client-Storyboard
Kommunikation
Server-Sitemap
Admin-Sitemap
Besucher-Sitemap
27
28
31
32
36
36
37
38
38
39
39
40
46
47
47
48
Produktdesign
Design-Direction
Elemente
Name
Wording
Schrift
Farben
Logo
Screendesign
49
50
51
51
51
51
52
53
53
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Vorwort
Technische Umsetzung
Eingrenzung der Umsetzung
Entwicklungs­­vorbereitung
Voraussetzungen – J2ME
Voraussetzungen – Ruby on Rails
Eclipse installation
Eclipse-Plugins
Design-Patterns
Entity-Relationship-Model
Implementation (Client)
Packages und Klassen
Klassendiagramm (vereinfacht)
Bibliotheken
Liste der möglichen Probleme
Server-Client-Kommunikation
Implementation (Server)
Models
Views (XML)
Views (HTML)
Controller
Eingesetzte Plugins
56
57
58
58
58
58
59
60
62
63
63
65
66
66
67
69
69
69
69
69
70
Wirtschaftliche Überlegungen
Kosten
Einnahmen
Veröffentlichung
Die Diplomarbeit
Der Dienst Pock-it.org
Risiken
Datenschutzrechtliche Bedenken
Datentarife machen Nutzung unattraktiv
Erreichen der kritischen Masse
Navigierbarkeit großer Datenmengen auf kleinen Geräten
Format-Kompatibilität
Verkürzte Akkulaufzeit bei Nutzung
71
72
73
74
74
74
75
75
75
75
76
76
77
Die Zukunft
Bekannte Probleme/ToDo-Liste
Java-Client
Server
Ausblick
78
79
79
80
81
Quellen
Publikationen online
Die wichtigsten Links
Eigene Blogeinträge
Nachrichten, Berichte
Plattformen
Kommunikation
Verwandte Projekte
Eingesetzte Tools
Verschiedenes
Publikationen offline
83
84
84
84
84
85
88
88
89
90
92
Betreuer:
Diplomarbeit / SS 2008
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Zeitschriften
Bücher
Nicht-referenzierbare Quellen
Internet Relay Chat
Anhang
GPS-fähige Geräte
Concept-Test
Alpha-Test der Anwendung
Stil-Test
Maistern-Test
Projektplan
Client-Sitemap
Echtes Storyboard
Klassendiagramm
MIDlet-States
Creative Commons
GNU General Public License
Vorwort
92
92
93
93
94
95
96
97
100
103
104
105
106
107
108
109
113
Vorwort
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Vorwort
Danke
Dies ist die richtige Stelle um einfach einmal Danke zu sagen. Eine
menge Personen haben zu dieser Arbeit aktiv oder passiv beigetragen.
Deshalb möchte ich mich bei den folgenden Personen bedanken:
— Bei meinen Eltern, für über 24 Jahre Unterstützung
— Bei Katharina für seelischen Beistand und Verständnis
— Bei Prof. Dr. Arnd Steinmetz und Prof. Mike Richter für die
Betreuung dieser Diplomarbeit
— Bei meiner P3/P4 Gruppe, namentlich: Daniela Peter, Markus
Bernhardt, Oliver Göck, Thomas Komander, Philipp Reinstaedtler, Garrit Schaap und Jan Schwebel für Idee und Freundschaft
— Bei Achim, Daniel, Eva, Eva, John, Michael, Garrit, Gregor, Kai,
Katharina, Lukas, Marcel, Mel, Nina, Sandy, Sebastian, Silvia,
Stefan und Thomas für Tests und Kommentare zu meinen Blogeinträgen
— Bei Axel Feix für Hilfe mit J2ME
— Bei Erika Fischer für Unterstützung und Freundlichkeit
— Bei Prof. Dr. Norbert Krier für MSD
— Bei den Professoren, Mitarbeitern, Lehrbeauftragten, Tutoren
und Studenten, die den Fachbereich zu dem machen, was er ist.
— Bei Wir sind Helden, Dashboard Confessional, Red Hot Chili Peppers, Counting Crows, Die Ärzte und The Corrs für gute Musik
— Bei Gene Roddenberry und Joss Whedon für gute Fernsehserien
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Vorwort
Executive Summary
Die vorliegende Diplomarbeit konzentriert sich auf die Konzeption
und Entwicklung einer mobilen Anwendung. Sie basiert auf einer
Idee, die im Projekt 3 von meiner Projektgruppe und mir entwickelt
wurde.
Die Anwendung ermöglicht Benutzern das Hinterlassen von
Informationen an bestimmten Orten. Information steht hier für
beliebige Daten, zum Beispiel Texte, Bild-, Video- oder Audiodaten.
Es entsteht ein neues Kommunikationswerkzeug.
Das Ergebnis ist ein funktionsfähiger Prototyp in Java Micro Edition (Client) und Ruby on Rails (Server). Unter dem Projektnamen
„Pock-it“ wird das Projekt veröffentlicht und wird unter der GPLv3Lizenz stehen. Diese Arbeit steht unter einer Creative CommonsLizenz.
Arbeitsergebnisse wurden in verschiedenen Tests verifiziert.
Diese finden Sie gesammelt im Anhang der Arbeit.
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Vorwort
Konventionen
Struktur
Diese Arbeit ist in Kapitel aufgeteilt. Jedes Kapitel enthält eine kurze
Zusammenfassung auf der Titelseite. Die Kapitelseiten sind durch
ihre andere Farbigkeit einfach in der Arbeit zu finden.
Gliederungspunkte, die nur wenige Zeilen Text enthalten, sind
der Übersicht halber nicht im Inhaltsverzeichnis aufgelistet. Wenn
ein Gliederungspunkt über mehrere Seiten geht, finden Sie in der
oberen rechten Ecke der Seite die letzte übergreifende Überschrift.
Da im Rahmen dieser Arbeit sowohl Client als auch Server
bearbeitet werden, gibt es bestimmte Ausarbeitungen für beide
Teile. Ich habe, wann immer möglich, die folgende Reihenfolge
angewandt:
1. Allgemeines, Übergreifendes
2. Client
3. Kommunikation
4. Server
Querverweise
Alle Web-Links finden Sie auch hier:
http://del.icio.us/ccoenen/dipl_archiv
An vielen Stellen sind Quellen und weiterführende Links eingefügt.
Quellen und Begriffserklärungen sind dabei in den Fußnoten angegeben, weiterführende Links werden in der Marginalie dargestellt.
Links finden Sie auch am Ende dieser Arbeit unter dem Punkt
Quellen. Hier sind die Quellen übersichtlich kategorisiert.
Querverweise innerhalb der Arbeit sind optisch vom normalen
Text abgesetzt.
Wenn Sie die PDF-Version dieser Diplomarbeit lesen, sind
Inhaltsverzeichnis, Weblinks und Querverweise klickbar. Außerdem steht Ihnen das Inhaltsverzeichnis ständig in der Seitenleiste
zur Verfügung.
Typografie
— Querverweis: Dieser Text folgt bestimmten Konventionen.
— Quelltext, Konsolen-Eingaben: Hallo Welt
— Haftnotizen zieren viele Auflistungen. Sie dienen der Kategorisierung.
— Zitate werden in eigenen Boxen dargestellt.
Typografie
SK1
zurück
hoch
SK2
Auswahl,
Vor,
OK
Auswahl
runter
Ich bin eine Demo-Beschriftung.
„Derek sagt, es ist immer gut, mit einem Zitat abzuschließen.
Wenn ein Anderer es schon am besten formuliert hat und
man selber es nicht besser kann, stiehlt man eben von ihm
und verschafft sich ’nen starken Abgang.“
American History X, Edward Furlong
— Bildbeschriftungen sind kursiv gesetzt
— Zusatzinformationen werden in runde Klammern gesetzt (weil
es leichter lesbar ist).
— Eckige Klammern kommen zum Einsatz, wenn es sich um Alternativen handelt: [an, aus]
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Vorwort
Selbstorganisation
Zu Beginn des Projekts wurde ein grober Plan aufgestellt, der die
wichtigsten, vorhersehbaren Aufgaben enthielt. Aufgaben wurden
in die Kategorien Organisatorisches, System und schriftliche Arbeit
eingeteilt.
Der Punkt System umfasst die eigentliche Hauptaufgabe und ist
unterteilt in die Unterpunkte Wirtschaft, strukturelles Design,
Produktdesign, technische Recherche, Entwicklungsvorbereitung,
Entwicklung und Test.
Abhängigkeiten von Aufgaben wurden ebenfalls eingetragen.
Insgesamt diente der Projektplan aber eher als ToDo-Liste. Insbesondere Start- und Endzeiten wurden frei interpretiert. Dennoch ist
die Strukturierung und Übersicht sehr hilfreich gewesen.
Arbeitsplatz-Computer und Notebook waren mit ähnlicher Software ausgestattet und gleich konfiguriert. Sie wurden über einen
Subversion-Server synchron gehalten. Wäre ein Computer ausgefallen, wäre die Entwicklung nahtlos weiter gegangen. Zum Ende
der Diplomarbeit wurden täglich zusätzliche Sicherungen auf einen
entfernten Computer kopiert.
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Vorwort
Exposé
Dieses Exposé diente im Vorfeld der Diplomarbeit als Kommunikationsgrundlage zwischen mir und meinem Betreuer. Es hält die
Grundidee und den zu erwartenden Umfang fest.
Thema
Geospatial Informationaccess —
Ein System zur geografisch verorteten Informationsspeicherung
und -abfrage mittels mobiler Geräte
Schwerpunkt
Der Schwerpunkt der Diplomarbeit liegt auf der Entwicklung. Lernziel ist es, eine Handyapplikation zu konzipieren und zu entwickeln.
Diplomand
Claudius Coenen / Media System Design / Matr. Nr. 703 758
Mobil: +49 (0) 171 353 7903 / E-Mail: [email protected]
Idee
Die Anwendung wird ein örtliches Abrufen von verschiedenen
Daten ermöglichen. Ein GPS-fähiges Endgerät holt Informationen
zum Standpunkt, stellt diese dem Benutzer dar und lässt ihn Informationen hinzufügen.
Die Daten können vom Benutzer nur an diesem Spot abgerufen
werden. Es bleibt zu überlegen, ob ein Abruf von zuhause sinnvoll
ist oder nicht. Benutzer können vorhandene Spots verwenden oder
Eigene anlegen.
Definition „Informationen“: Zu Informationen zählen neben
Text- auch Multimediadaten. Die Anwendung soll Bild, Ton und
Videoaufnahmen verarbeiten können. Auch ein Verweis auf eine
Internetseite (wie z.B. der zugehörige Wikipedia-Eintrag) ist denkbar.
Definition „Spot“: Ein Punkt, an dem Informationen abgelegt
sind. Dieser wird in einem festzulegenden Umkreis „sichtbar“ sein.
Use Case(s)
Einige Anwendungsmöglichkeiten existieren, ich möchte hier auf
drei näher eingehen.
Gästebuch/Gipfelbuch
Hier können Benutzer ein virtuelles „ich war hier“ hinterlassen.
Dies kann entweder eine persönliche Angelegenheit sein oder in
Form eines Gipfelbuches einen öffentlichen Ort markieren.
Sehenswürdigkeiten
Ähnlich dem Semapedia-Ansatz können Informationen zu inte­
ressanten Orten hinterlassen werden. So könnte ein virtueller
Reiseführer entstehen. Von großem Vorteil wäre hierbei, dass eine
Beschreibung nicht nur als Text vorliegen müsste, sondern auch
gesprochen oder illustriert sein könnte.
10
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Vorwort
Exposé
Geocaching
Neben dem traditionellen Geocaching, bei dem man einen einzigen
Punkt sucht, erfreuen sich besonders Multi-Caches (Geocaching
mit Zwischenstationen) besonderer Beliebtheit. Diese Zwischenstationen sind meist mitgebrachte Rätsel. Mit dem geplanten System
könnte eine solche Zwischenstation auch ein abrufbares Spiel oder
ein Bilderrätsel sein.
Technische Umsetzung
Ein Client-Programm soll geschrieben werden. Dieses soll GPS-Koordinaten auswerten können und eine Internetverbindung aufbauen.
Spots anlegen und ändern muss möglich sein. Zumindest Bild- und
Textinformationen sollen austauschbar sein.
Bei der Serveranwendung besteht die Hauptaufgabe in einem
funktionsfähigen Webservice, den der Client nutzen kann. Eine
zugehörige Website wird nur rudimentär entwickelt, um die Dateneingabe zu erleichtern – das Web-Frontend ist nicht explizit Teil der
Diplomarbeit.
Titel-Findung
Bausteine
— Location, GPS, Geokoordinaten, Mobil, Spot, (Zusatz-)Information, Medien, Internet, Daten, Geocaching, Forum, Wiki, Gästebuch, Audio, Video, Text, Spaß, Metadaten, Geschichte (historisch
wie narrativ), Content, Point-of-Interest
— platzieren, hochladen, runterladen, teilen, ver(w)alten, finden,
stolpern, orten, informieren, benachrichtigen, erinnern, erzählen, mitmachen
— experimentell, informativ, lokal, interessant, relevant, unerwartet, unsichtbar, offensichtlich, öffentlich, privat, wissenswert,
virtuell
Andere Titel-Entwürfe
—
—
—
—
—
—
—
—
—
—
—
—
Ortsspezifische Ablage von Daten
Ortsrelevante Abrufbarkeit von Informationen
Informationsverwaltung durch Geokoordinaten
mobile Anwendung
„Location Based Services“
Informations-Ort
Benutzer-Ort
virtuell
Geoinformationspots
Geopositionierte Informationsspots
Geospatial Informationspots
Geopositionierung und Abruf von relevanten Daten
11
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Vorwort
Erklärung der
Eigenständigkeit
Hiermit erkläre ich, Claudius Coenen, dass ich die vorliegende
Diplomarbeit selbständig und nur unter Verwendung der angegebenen Hilfsmittel und Literatur erstellt habe.
Ort, Datum
Unterschrift
12
„Ist das so? Ich meine, muss das so?“
Wir sind Helden — Ist das so?
Kapitel 1
Recherche
In der Recherche geht es im Wesentlichen darum, in welchem
Umfeld das Projekt existiert. Hierzu wurden verwandte Projekte,
potentielle Client-Plattformen, Kommunikationsstandards, Servertechnologien und Ortungsmöglichkeiten beleuchtet.
Die Recherche schließt mit den Entscheidungen für dieses Projekt ab. Hier werden die ausgewählten Techniken und Plattformen
etwas näher erläutert.
Betreuer:
Diplomarbeit / SS 2008
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 1: Recherche
Bestandsaufnahme
Verwandte Projekte
Durch die stärkere Verbreitung von GPS-Empfängern haben
auch Geo-Informationssysteme einen starken Auftrieb erlebt. Die
Bestandsaufnahme soll themenverwandte Projekte erläutern. Auf
rein statische Systeme (zum Beispiel Reiseführer für PDAs ohne
Internetaktualisierung oder GPS-Unterstützung) wurde verzichtet,
da sie zu weit vom Thema entfernt sind.
Die Liste der Geoinformationssysteme ist lang. Sogar die Telefon-Auskunft im Internet bietet an, den Wohnort auf einer Karte
anzuzeigen. Die folgenden Projekte stehen nicht tatsächlich in
Konkurrenz zum geplanten Projekt. Vielmehr bietet es sich an, in
Kooperation mit diesen Diensten zu treten. Sie bieten oftmals verortete Informationen bereits an.
Der Übersichtlichkeit halber sind die Produkte in folgende Kategorien eingeteilt:
http://maps.google.de
http://earth.google.com
http://www.openstreetmap.org
http://maps.live.de
http://de.routenplaner.yahoo.com/broadband
http://www.de.map24.com
http://worldwind.arc.nasa.gov
Redaktionell
(Ausnahme:
OpenStreetMap)
Dynamisch
Losgelöst
Keine Ortung
Nur lesen
http://www.frappr.com/
http://www.qype.com/
User-Generated
Dynamisch
Losgelöst
+Vor Ort
Keine Ortung
en
Lesen+Schreib
Inhalt:
Redaktionell
User-Generated
Aktualität:
Statisch
Dynamisch
Verfügbarkeit:
Losgelöst
Vor Ort
Ortung:
Keine oder manuell
Automatisch
Interaktivität:
Nur lesen
Lesen und schreiben
Google Maps / Google Earth / Nasa WorldWind /
MapGuide / Map24.de / Yahoo Maps / Windows
Live Maps / OpenStreetMap…
Eine Menge internetgestützter Anwendungen entwickelte sich in
den vergangenen Jahren. Von Wetterdaten bis Routenplanung ist
alles dabei. Besonders die großen Suchmaschinenbetreiber drängen
in diesen Markt. Die Dienste und Programme sind für den Endnutzer zunächst kostenlos zu benutzen, da die Refinanzierung meist
über Werbeeinblendung und Premium-Angebote erfolgt.
Ein relativ junger Ansatz ist, dass man die Dienste auch in den
eigenen Webanwendungen verwenden darf und sogenannte Mashups erstellen kann.
Qype / Frappr
Qype ist ebenso wie Frappr ein solches Mash-up. Beide Dienste
setzen Googles Karten ein und bauen eigene Funktionalitäten auf.
Frappr stellt Benutzern eine Karte zur Verfügung, auf der sich
jeder selbst eintragen kann. Das klingt zunächst langweilig, hat
aber besonders für Communities einen hohen Spaßfaktor. Eine
Frappr-Karte wurde auch von unserem Jahrgang eingesetzt, um
die Praktikumsstellen zu visualisieren. Viele Foren und Websites
haben ihre eigene Frappr-Benutzer-Karte.
Mash-Up: „Vermischung“ verschiedener Dienste
http://de.wikipedia.org/wiki/Mashup_%28Internet%29
http://www.frappr.com/msd-bps2006-2007
14
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
http://placeshout.com
Barcode-Reader:
http://www.i-nigma.com
http://reader.kaywa.com
http://code.google.com/p/zxing
http://www.neoreader.com/home.html
Dynamisch
Vor Ort
Autom. Ortung
(visuell)
http://www.semapedia.org
http://www.shotcode.com
http://scanbuy.com
Media System
Design
Hey! This is a physical hyperlink
to Wikipedia. Scan the code or
enter the URL in your phone:
Kapitel 1: Recherche
Bestandsaufnahme
Verwandte Projekte
Qype hat es sich auf die Fahne geschrieben Lieblingsorte zu sammeln. Das ist nicht näher definiert, pendelte sich in der Praxis aber
bei Kneipen und Firmen ein. Ein paar Sehenswürdigkeiten sind
auch mit von der Partie. Sämtliche Bewertungen, Kommentare und
sogar die Orte selbst kommen von den Qype-Benutzern.
Ähnliches Prinzip: PlaceShout
Mobile Tagging
Man kann an jedem beliebigen Ort Informationen abrufen, sobald
man ein internetfähiges Endgerät hat. Die einfachste Variante wäre,
eine URL abzudrucken, die der Nutzer aufrufen soll. Nachdem
Kameras Einzug in die Mobiltelefone hielten, kamen Firmen auf die
Idee, das Abtippen der URL durch Abfotografieren zu ersetzen.
Es gibt eine Reihe von Barcode-Systemen, die Anwendung
finden. Eine in Japan sehr verbreitete Technik ist der QR-Code. Auch
im europäischen Raum findet er dank des Kaywa Readers und des
Semapedia-Projektes mehr Anhänger.
Beispiel: Semapedia
„Semapedia hat das Ziel, die virtuelle Welt der Wikipedia mit der
realen Welt zu verknüpfen“. Auf der Semapedia-Projektseite kann
man zu beliebigen Wikipedia-Einträgen speziell gestaltete QR-Codes
erstellen. Diese werden vor Ort angebracht und von Interessenten
ausgelesen.
Das Leseprogramm zeigt dem Benutzer daraufhin den Wikipedia-Artikel im Handy-eigenen Browser an—Internetverbindung
vorausgesetzt.
Weitere ähnliche Dienste: Shotcode
Beispiel: Scanbuy
Scanbuy druckt Barcodes auf Produkte. Ein Benutzer kann sie mit
seinem Telefon einscannen und bekommt Zusatzinformationen
oder eine Produktvorschau angeboten.
http://semapedia.org/w/30072
Typisches Semapedia-Tag
Mobile Tagging: http://de.wikipedia.org/wiki/Mobile_Tagging
15
Betreuer:
Diplomarbeit / SS 2008
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 1: Recherche
Bestandsaufnahme
Verwandte Projekte
Navigationssysteme
Redaktionell
User-Generated
(selten)
Statisch
Dynamisch
(TMC)
Vor Ort
Autom. Ortung
Viele Neuwagen werden heute mit Navigationssystem bestellt.
Ein solches System beherbergt einen Satz Karten, der aktualisiert
werden kann. Bei Aktualisierung fallen in der Regel Kosten für den
Fahrzeughalter an.
Navigationssysteme enthalten nicht nur die reine Streckeninformation, sondern auch interessante Orte, Tankstellen und Sehenswürdigkeiten. Aktuellere Modelle erhalten zusätzlich TMC-Daten
über Staus oder Blitzer.
Mit MapShare nutzt TomTom mittlerweile auch usergenerated
Content.
i.d.R. Nur lesen
http://www.oe-navi.de
Redaktionell
Dynamisch
Vor Ort
Autom. Ortung
Ö-Navi
Anststatt sich ein Navigationssystem anzuschaffen, kann man bei
„Das Örtliche“ eine Softwarelösung herunterladen. Diese läuft auf
den gängigen Mobiltelefonen und wird durch Werbung finanziert.
Nur lesen
http://www.google.com/gmm
http://www.mgmaps.com
Redaktionell
Dynamisch
Vor Ort
GoogleMapsMobile
Google Maps bietet auch einen J2ME-Client an. Dieser kann, abhängig vom Gerät, die aktuelle Position orten. Somit steht der Großteil
der Google Maps-Funktionalitäten unterwegs zur Verfügung.
Alternativer Client für mehrere Kartenanbieter: MGMaps
Keine Ortung
Nur lesen
http://www.shozu.com
User-Generated
ng
Autom. Ortu
Lesen+Schreiben
http://zonetag.research.yahoo.com
http://zurfer.research.yahoo.com
User-Generated
Dynamisch
ShoZu
Das Online-Leben verteilt sich gerade für Einsteiger und Gelegenheitsnutzer auf verschiedene Seiten: Bei Facebook, Flickr und
YouTube liegen die eigenen Kreationen.
ShoZu übernimmt die Datenverteilung. Fotos und Videos
werden mit dem Mobiltelefon gemacht und bei einer Vielzahl von
Internetseiten auf den eigenen Profilen veröffentlicht. Wenn Geokoordinaten verfügbar sind, werden diese Daten auch an die Dienste
weitergegeben.
Yahoo Zonetag und Zurfer
Zonetag ist ein Foto-Uploader für Flickr, der die Geokoordinaten
mitliefert. Zurfer dagegen zeigt lokale Fotos sowie die eigenen
Bilder auf dem Handy an.
Vor Ort
Autom. Ortung
Lesen+Schreiben
TMC: Traffic Message Channel, siehe http://de.wikipedia.org/wiki/Traffic_Message_Channel
16
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
http://www.uni-goettingen.de/de/63850.html
Redaktionell
Dynamisch
Vor Ort
Autom. Ortung
Nur lesen
http://mobile.mit.edu/classes/elens
User-Generated
Dynamisch
Vor Ort
Autom. Ortung
(barcode)
chreiben
Lesen+S
http://yellowarrow.net
User-Generated
Statisch
Vor Ort
Keine Ortung
Nur lesen
http://socialight.com
User-Gen
erated
Dynamisch
Vor Ort
Keine Ortung
(geplant)
Lesen+Schreiben
http://www.invisibleideas.org
http://www.adobe.com/devnet/devices/
articles/invisible_ideas.html
Redaktionell
Statisch
Vor Ort
Autom. Ortung
Nur lesen
http://www.heise.de/newsticker/Ad-hocMitfahrzentrale-fuer-Mobiltelefone--/
meldung/106705/
http://www.oks.tu-berlin.de/forschung/
technologien/mfz/
Kapitel 1: Recherche
Bestandsaufnahme
Verwandte Projekte
Mobile Stadtführung
Die Uni Göttingen erstellte ein Konzept für eine Stadtführung, bei
der das eigene Mobiltelefon die Informationen liefert. Der Benutzer kann die Führung in seiner eigenen Geschwindigkeit und nach
seinem eigenen Interesse durchführen.
Die Führung basiert auf GPS-Koordinaten und soll laut Pressemitteilung auch Bilder auf dem Gerät zeigen.
Elens
Elens lässt die Benutzer Daten an Orten ablegen. Bild, Text und
Sprachnachrichten werden unterstützt. Die Ortung geschieht mittels 2D-Barcode.
Yellow Arrow
Als öffentliches Kunstprojekt versteht sich der Yellow Arrow. Er
kommt clientseitig ganz ohne Internet aus: Der Benutzer sieht den
gelben Pfeil und sendet eine SMS mit seiner ID an eine Nummer.
Kurz darauf erhält er die dahinter versteckte Botschaft.
Yellow Arrows werden bevorzugt an schönen und/oder sehenswerten Dingen bzw. Orten angebracht.
Socialight
Socialight funktioniert ähnlich wie Qype. Geplant ist ein Java-Client:
Während man durch die Stadt geht, füllt sich die Inbox mit Empfehlungen. Socialight wird besonders für Gastronomie-Empfehlungen
eingesetzt. Derzeit kann es unterwegs nur über eine WAP-Oberfläche verwendet werden.
Im Mai 2008 kündigte Socialight an, seinen Java-Client unter der
MIT-Lizenz zu veröffentlichen.
Invisisible Ideas
Eine virtuelle Galerie in drei Parks in Boston: Benutzer erhalten
einen GPS-fähigen PDA. In den Parks sind 147 Ausstellungsstücke
verteilt. Später wird das eigene Tracklog auf der Website mit allen
anderen Tracklogs angezeigt. Das Projekt war 2002 ein großer
Erfolg.
Ad-Hoc Mitfahrzentrale
Die TU-Berlin entwickelte eine Applikation, die standortbasiert Mitfahrgelegenheiten finden kann. Weiterhin werden in der Anwendung POIs und gegenseitige Bewertungen angeboten.
User-Generated
Dynamisch
Vor Ort
Autom. Ortung
Lesen+Schreiben
17
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
http://www.enkin.net
User-Generated
Dynamisch
Vor Ort
Autom. Ortung
Kapitel 1: Recherche
Bestandsaufnahme
Verwandte Projekte
Enkin
Enkin ist ein Navigationskonzept, das auf der „magical lens“
Metapher aufsetzt. Man platziert in einer Kartenansicht Labels und
bekommt diese später korrekt über ein live-Kamerabild gelegt.
Lesen+Schreiben
http://www.innovations-report.de/html/
berichte/verkehr_logistik/bericht-71203.html
Redaktionell
Dynamisch
Siemens Digital Graffiti
Dieses System erleichtert Piloten die Navigation am Boden. Meldungen werden zugestellt, sobald das Flugzeug eine bestimmte Wegmarke erreicht.
Vor Ort
Autom. Ortung
Nur lesen
http://www.sics.se/~espinoza/documents/
GeoNotes_ubicomp_final.htm
User-Generated
Dynamisch
Vor Ort
Autom. Ortung
eiben
n+
Lese Schr
http://loopt.com
User-Generated
Dynami sch
Vor Ort
GeoNotes
GeoNotes ist ein Projekt aus Schweden. Hier werden Nachrichten,
ähnlich wie im vorliegenden Projekt, an Orten hinterlassen. Das
Projekt konzentriert sich jedoch stärker auf den gezielten Nachrichtenaustausch zwischen zwei Personen. Es wurde nicht speziell auf
Handheld-Geräte konzipiert.
Loopt
Loopt ist eine Community. Der mobile Client hat Messaging-Fähigkeiten und kann Events und Bilder verschicken. Diese werden dann
auf einer Karte dargestellt.
Autom. Ortung
Lesen+Schreiben
Magical Lens: http://www2.parc.com/istl/projects/MagicLenses/
93Siggraph.html
18
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 1: Recherche
Bestandsaufnahme
Client-Plattformen
Auf der Client-Seite gibt es eine Reihe von Plattformen, die bedient
werden wollen. Wichtig ist hier: Die Plattformen stehen nur im
Rahmen dieser Diplomarbeit (aus Zeitmangel) in Konkurrenz. Wünschenswert wäre für die Zukunft, für jede der genannten Plattformen einen Client anzubieten.
http://java.sun.com/javame/index.jsp
Randbemerkung:
Java ist auch auf Windows Mobile
verfügbar. Hier habe ich zwei
VMs auf einem Windows Mobile
5 Gerät getestet. Der Intent Java
Midlet Manager bietet keine
Unterstützung für GPS (in v11). IBM
J9 ist kostenpflichtig, Download und
Einrichtung sind umständlich. J9
kann GPS-Geräte ansprechen und
eine Internetverbindung aufbauen.
Die Testergebnisse legen nahe, dass
ein Java-Client die Windows-MobileGeräte nicht zufriedenstellend
bedienen könnte.
http://www.s60.com/business/developers
J2ME Midlet
Mit der größten Verbreitung und einigen Jahren auf dem Markt ist
J2ME oft die erste Wahl für mobile Anwendungen. Viele namhafte
Applikationen sind in J2ME realisiert. Prominente Beispiele sind
Opera Mini und der DB Railnavigator.
Vorteile: Auf fast allen aktuellen und neu angekündigten Geräten vorhanden, erprobte Kompatibilität mit GPS und Internetzugriff.
Nachteile: Windows Mobile-Geräte haben von Haus aus eine
fast unbrauchbare VM (siehe Randbemerkung). In Verbindung
mit der Tatsache, dass der Großteil der GPS-Handys auf Windows
Mobile basiert, ist dies ein schwerwiegendes Problem. Weiterhin
soll in absehbarer Zukunft die Standard-Edition den Platz von J2ME
einnehmen.
Symbian S60
Symbian wurde in der Vergangenheit überwiegend von Nokia eingesetzt, heute ist es auch bei anderen Herstellern verbreitet. Symbian Series 60 Anwendungen werden in C oder C++ geschrieben.
Vorteile: Nach Windows Mobile die zweitverbreitetste Plattform bei den GPS-fähigen Geräten.
Nachteile: Symbian S60 Geräte haben eine brauchbare Java-VM,
daher könnte man ebenso gut in Java entwickeln und somit auch
andere Geräte bedienen.
http://www.microsoft.com/
windowsmobile/developers
Windows Mobile
Für Windows Mobile Geräte kann unter anderem in C++ oder C#
entwickelt werden. Windows Mobile ist auf vielen Smartphones
und PDAs verschiedener Hersteller zu finden.
Vorteile: Besonders bei den GPS-Handys weit verbreitet, gut
dokumentierte Entwicklungstools.
Nachteile: Fast ausschließlich Smartphones setzen Windows
Mobile ein. Damit ist in der Regel auch eine entsprechende Gerätegröße verbunden. Obwohl der Windows Mobile-Anteil unter den
GPS-Geräten sehr hoch ist, ist er bei allen Mobiltelefonen insgesamt
gesehen eher gering.
Seit 2001, siehe: http://www.teltarif.de/arch/2001/kw25/s5440.html
http://www.news.com/8301-13580_3-9800679-39.html?part=rss&subj=ne
ws&tag=2547-1_3-0-5
Siehe: Anhang / GPS-fähige Geräte
Marktanteil Windows Mobile: 13%, siehe http://www.pcwelt.de/start/
mobility_handy_pda/pda_smartphone/news/160677/microsoft_will_
smartphone_markt_ausbauen/index.html
19
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
http://www.adobe.com/products/flashlite
Kapitel 1: Recherche
Bestandsaufnahme
Client-Plattformen
Flash Lite
Adobes mobile Inkarnation von Flash ist mittlerweile in Version 3
verfügbar. Programmiert wird in ActionScript 2. Wie vom DesktopFlash bekannt, kann viel über die Authoring-Umgebung gemacht
werden, so dass einfache Animationen und Interfaces „gemalt“
werden können.
Vorteile: In vielen Geräten verfügbar, ausgereifte IDE, Medienumgang einfach.
Nachteile: Kein Zugriff auf GPS oder Bluetooth.
http://developer.apple.com/iphone
Randbemerkung:
Am 9. Juni wurde der iPhoneNachfolger mit GPS und UMTS
offiziell vorgestellt.
http://code.google.com/android
iPhone
Apples Vorstoß in den Mobilfunkmarkt begann als geschlossenes
System. Mit Veröffentlichung von Firmware 2 und dem SDK kann
jeder seine eigenen Anwendungen schreiben und über iTunes veröffentlichen. Entwickelt wird in Objective C.
Vorteile: Von Haus aus wird es Programmierern einfach
gemacht, ein mediales Feuerwerk abzubrennen; iPhones werden
mit Datentarifen gebündelt verkauft; iTunes als Verbreitungsmedium.
Nachteile: Bindung an ein Endgerät, (derzeit) kein UMTS, Programmiersprache Objective-C, kein GPS-Empfänger (Nachfolgegerät zu spät), in Deutschland nur rund 70.000 100.000 verkaufte
Geräte.
Android
Die Android-Plattform wurde von Google und über dreißig weiteren Firmen aus der Taufe gehoben. Sie basiert auf Linux und wird
überwiegend in Java entwickelt.
Vorteile: Große Unterstützung der Plattform durch viele namhafte Firmen, für Mashup-Dienste bestens gerüstet, Preisgelder für
gute Entwicklungen.
Nachteile: Geräte erst Ende des Jahres zu erwarten, wie Windows Mobile eher auf Smartphones geplant.
http://www.limofoundation.org
LiMo-Platform
LiMo wurde 2007 von Motorola, NTT DoCoMo, Panasonic, NEC,
Samsung und Vodafone gegründet. Ziel ist es, eine Linux-Plattform
für Mobiltelefone zu etablieren.
Vorteile: Offene Plattform, Release 1.0 seit März 2008 verfügbar.
Nachteile: Kein Gerät marktreif, kein angekündigtes Gerät mit
eingebautem GPS.
Stand: Januar 2008. Quelle: http://www.macnews.de/news/105992, http://
www.heise.de/newsticker/70-000-verkaufte-iPhones-kurbeln-Datennutzung-an--/meldung/102489
Stand: April 2008. Quelle: http://satundkabel.magnus.de/geraete/artikel/
agentur-viele-illegale-iphones-bei-telekom-konkurrenten.html
Android Developer Challenge http://code.google.com/android/adc.html
20
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 1: Recherche
Bestandsaufnahme
Endgerätemarkt
Für die zu entwickelnde Anwendung ist GPS sehr empfehlenswert.
Im März zählte xonio.com 42 verschiedene Modelle mit eingebautem GPS-Empfänger, weitere 25 Modelle waren von den Herstellern
angekündigt.
Obwohl diese Geräte am interessantesten sind, sollte man im
Auge behalten, dass ein weitaus größerer Anteil von Geräten ohne
eingebauten Empfänger im Umlauf ist. Die meisten dieser Geräte
kann man für rund 60 € um einen Bluetooth-GPS-Empfänger erweitern.
Neben GPS-Fähigkeiten ist auch interessant, in welcher
Geschwindigkeit Daten übertragen werden können, wie die DisplayAuflösung ist und auf welcher Plattform das Gerät arbeitet.
Der Löwenanteil der 50 untersuchten Geräte läuft auf Basis von
Windows Mobile 6 (22 Geräte), gefolgt von Symbian Series 60 3rd
(10 Geräte). Windows Mobile 5 kommt auf 8 Geräte und 10 Geräte
verwenden ein herstellereigenes Betriebssystem oder es konnte
nicht ermittelt werden.
An Displayauflösungen kommen überwiegend QVGA (22 Geräte)
zum Einsatz. VGA-Auflösungen (4 Geräte) und 240x240 Pixel (ebenfalls 4 Geräte) sind die einzigen anderen Gruppen. Bei 15 Geräten
konnte die Auflösung jedoch nicht sicher ermittelt werden.
Ganze 30 Geräte funken mit den schnellen Standards UMTS
und HSDPA, 15 Geräte sind noch in der zweiten Generation hängen
geblieben. Bei fünf Geräten liegen keine Informationen vor. Fast die
Hälfte der Geräte hat zusätzlich WLAN (24 Geräte).
Der Vollständigkeit halber die Verteilung der Hersteller: Asus
(8), E-Ten (8), Fujitsu-Siemens (2), Garmin (1), HP (4), HTC (6), Mitac
(1), Nokia (8), RIM (Blackberry) (3), Samsung (3), SonyEricsson (2),
Toshiba (3).
Eine Tabelle der untersuchten Geräte finden Sie im Anhang:
GPS-Fähige Geräte.
Datenaustausch
XML-basiert (SOAP, REST)
http://www.w3.org/TR/soap12-part1
http://www.ics.uci.edu/~fielding/pubs/
dissertation/rest_arch_style.htm
SOAP
SOAP ist ein Nachrichten-orientierter Webservicestandard. Sämtliche Request-Daten werden in die XML-Nachricht gepackt. Oftmals
sind SOAP-URLs für alle Operationen eines Service die gleichen.
Neben der eigentlichen Kommunikation gibt es einen Webservice-Deskriptor, der die vorhandenen Methoden und nötigen
Objekte standardisiert beschreibt.
SOAP ist eine W3C-Empfehlung.
REST
REST ist die Abkürzung für Representational State Transfer. Via
HTTP und XML werden Ressourcen adressiert. Anders als bei SOAP
wird der HTTP-Header als Teil der Kommunikation genutzt. Sowohl
http://www.xonio.com/artikel/Handy-mit-Navigation-Alle-Modelle-inklusive-Neuheiten_30102841.html
21
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 1: Recherche
Bestandsaufnahme
Datenaustausch
HTTP-Verb als auch die URL bestimmen die eigentliche Aktion und
Ressource.
In gewisser Weise kann man REST auch als W3C-Empfehlung
ansehen, da es eine Art Best-Practice auf Basis von bestehenden
Empfehlungen ist.
Andere Möglichkeiten
http://json.org
http://www.yaml.org
http://de.wikipedia.org/wiki/Serialisierung
http://osflash.org/documentation/amf
http://download.macromedia.com/pub/labs/
amf/amf3_spec_121207.pdf
JSON
JSON (JavaScript Object Notation) ist eine textbasierte Darstellung
von Objekten. Sie kann in einer JavaScript-Umgebung mit dem
Befehl eval() in ein Objekt überführt werden. Für andere Sprachen
existieren Bibliotheken.
YAML
Direkt mit JSON vergleichbar ist YAML. Es ist ebenfalls textbasiert,
wird jedoch von weniger Programmiersprachen unterstützt.
Serialisierung
Serialisierung zum Datenaustausch klingt im ersten Moment einfach, hat jedoch gravierende Nachteile: Die Klassen auf Server und
Client müssen identisch definiert sein. Ein nachträgliches Erweitern
der Funktionalität des Servers würde ein Client-Update zwingend
erfordern.
AMF
AMF (Action Message Format) ist ein proprietäres, binäres
Datenformat, entwickelt von Macromedia. Im Gegensatz zu XMLbasierten Kommunikationen wird hier der Overhead minimiert.
Darüberhinaus unterstützt es persistente Verbindungen. Es existieren Bibliotheken für viele Programmiersprachen, die AMF lesen
und schreiben können.
Servertechnologien
http://java.sun.com/javaee
��������������������������
Java Enterprise Edition
Wie der Name nahe legt, kommt als Programmiersprache Java zum
Einsatz. Die Enterprise Edition richtet sich speziell an den Einsatz
auf Servern. Die Einrichtung eines Application-Servers ist nicht
trivial, außerdem kann das Deployment einer Anwendung Minuten
dauern. Insgesamt ist Java Enterprise Edition daher nicht geeignet
für Rapid Protoyping.
http://www.asp.net
ASP.net
Innerhalb des ASP.net Frameworks kann in einer beliebigen CLRkompatiblen Programmiersprache entwickelt werden. Hosting­
angebote sind nicht weitläufig verfügbar. ASP.net wird in aller Regel
auf Windows-Maschinen gehostet. Open-Source-Implementierungen existieren zwar, sind aber wenig verbreitet. Mit Visual Studio
steht eine ausgereifte IDE zur Verfügung.
22
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
http://php.net
Frameworks:
CakePHP http://www.cakephp.org/
Symfony http://www.symfony-project.org/
http://rubyonrails.com
Kapitel 1: Recherche
Bestandsaufnahme
Servertechnologien
PHP
Für PHP existieren einige Frameworks, die die Entwicklung
beschleunigen. Von vielen Webhostern werden PHP-fähige Pakete
günstig angeboten. Es stellt keine besonderen Anforderungen an
Hardware oder Betriebssystem. PHP konnte eine breite Masse von
Entwicklern hinter sich bringen.
Ruby on Rails
Der jüngste Vertreter unter den Servertechnologien stellt ein komplettes Framework zur Verfügung. Anwendungen werden in Ruby
geschrieben. Das Framework gibt Model/View/Controller als DesignPattern vor, enthält eine komplette Test-Suite und erleichtert die
Erstellung von Webservices. Hosting-Angebote gibt es kaum.
Ortungstechniken
Wie am Endgerätemarkt abzulesen ist, existieren im Moment weit
weniger Geräte mit GPS, als Geräte ohne. Es gibt andere Ansätze zur
Ortung, die auch implementiert werden sollen:
http://www.gps.gov
GPS
Das Global Positioning System ist ein Satelliten-Netzwerk, das auf
dem Endgerät eine genaue Positionierung ermöglicht. Seit Abschaltung der künstlichen Unschärfe sind Genauigkeiten im 10mBereich kein Problem mehr.
http://www.skyhookwireless.com
WLAN, Bluetooth, RFID
Der amerikanische Anbieter Skyhook bietet Ortung via WLAN an.
Skyhook hat eine Datenbank von WLAN-Hotspots und deren Position erstellt. Man scannt die Umgebung nach Hotspots und kann
dadurch die eigene Position ausreichend genau bestimmen.
Triangulation als Ortungstechnik kann in ähnlicher Form auch
auf Bluetooth und RFID übertragen werden.
GSM-Zellenortung
Solange ein Mobiltelefon am Netz angemeldet ist, befindet es sich
in einer bestimmten GSM-Zelle. Diese Zellen können von wenigen
hundert Metern bis zu wenigen Kilometern groß sein. Dennoch ist
diese Ortung für das System interessant, weil sie für jedes Gerät zur
Verfügung steht.
http://geography.about.com/library/weekly/aa050400a.htm
http://de.wikipedia.org/wiki/Triangulation_%28Messtechnik%29
23
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 1: Recherche
Recherche-Ergebnisse
Entscheidungen
Client
Aufgrund der bisherigen Verbreitung und der Kompatibilität wird
in J2ME entwickelt. Dies schließt die nachträgliche Entwicklung von
Clients auf anderen Plattformen jedoch nicht aus.
Kommunikation
Meine Wahl beim Datenaustausch fiel auf SOAP. Leider erwies sich
das in den ersten Tests als schlechte Wahl für J2ME und Rails, weswegen auf REST umgestellt wurde.
Java bietet zwar in der Micro Edition eine Webservice-Schnittstelle an, hat aber sehr genaue Vorstellungen, wie diese zu implementieren ist (document/literal). Rails, auf der anderen Seite, bietet
Webservices in einem anderen Format an (rpc/encoded).
Server
Die Server-Umgebung wird Ruby on Rails sein. Die Diplomarbeit
konzentriert sich nicht speziell auf den Server, sondern mehr auf
Konzept, Client und Schnittstelle. Ruby on Rails ist die beste Wahl,
da ein schnelles Prototyping beim Server auch beim Client schneller
zu Ergebnissen führt.
Endgerät
Während der Entwicklung wird maßgeblich auf Nokia 6300 und
SonyEricsson K800i entwickelt. Beides sind recht verbreitete Geräte
mit vielen Gemeinsamkeiten. Beide Geräte stehen mir bereits zur
Verfügung, was die Entscheidung begünstigte.
J2ME im Detail
Die Micro-Edition von Java (kurz: JME oder J2ME) ist speziell für
mobile Geräte gedacht. Damit gehen ein geringerer Speicherverbrauch, ein kleineres Display und andere Eingabegeräte einher.
Die meisten aktuellen Geräte sind auf dem Stand CLDC 1.1 (Connected Limited Device Profile) sowie MIDP 2.0 (Mobile Information
Device Profile). Dies stellt bestimmte Anforderungen an Displaygröße, Speicher und Konnektivität. Ein MIDP 2.0-Gerät hat eine
Displayauflösung von mindestens 96x54 Pixeln, mindestens 384
Kilobyte Speicher und eine Internetverbindung.
Um auf der Höhe der Zeit bleiben zu können, werden Java Specification Requests (JSR) definiert. Dies sind optionale Module, die
ein Gerät optional unterstützen kann. Location- und 3D-Funktionen
sowie Dateisystemzugriff sind prominente Beispiele.
Erstellt wird ein MIDlet, also ein Programm, das von
javax.microedition.midlet.MIDlet erbt. MIDlets sind (analog
zu Applets) Programme, die nicht eigenständig laufen, sondern von
einer Umgebung ausgeführt werden. MIDlets haben die Zustände
aktiv, pausiert und zerstört. Sowohl das Programm als auch das
24
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 1: Recherche
Recherche-Ergebnisse
J2ME im Detail
Gerät können Zustandsübergänge auslösen. So kann das Programm
bei einem eingehenden Anruf pausiert oder beendet werden.
Wie Java-Programme der Standard-Edition werden auch MIDlets
in einer virtuellen Maschine ausgeführt. Auch hier wird ein striktes
Sicherheitssystem (Sandbox) implementiert. Der Benutzer kann
genau definieren, welche Anwendung etwas (nicht) darf.
REST im Detail
REpresentational State Transfer ist ein zustandsloses Protokoll zum
Austausch von Daten. Es verwendet HTTP zur Übertragung von
XML-Nachrichten. Ressourcen (zum Beispiel Benutzer) sind durch
eindeutige URIs adressiert. Ein URI könnte dabei so aussehen:
http://www.example.com/users/2
Die URI in Verbindung mit einem der HTTP-Verben GET, PUT,
POST oder DELETE bewirkt verschiedene Aktionen bei der adressierten Ressource. So wird bei einem GET einfach das adressierte
Objekt wie im folgenden Beispiel ausgegeben:
<?xml version="1.0" encoding="UTF-8"?>
<user>
<created-at type="datetime">
2008-05-23T18:19:35+02:00
</created-at>
<email>[email protected]</email>
<id type="integer">7</id>
<nickname>amenthes</nickname>
<password>swordfish</password>
<phone-number>+49 123 4567</phone-number>
<updated-at type="datetime">
2008-05-23T18:19:35+02:00
</updated-at>
</user>
Sendet man im HTTP-Content ein solches XML-Fragment mit, kann
man per HTTP-PUT eine Ressource erzeugen oder per HTTP-POST
ändern.
Zentrale Unterschiede von REST und dem bekannteren SOAP
sind:
— SOAP ist nicht ressourcenorientiert sondern prozedurorientiert.
— SOAP besitzt neben der eigentlichen Nachricht noch einen Webservice-Deskriptor und ein Webservice-Verzeichnis. Beides ist in
REST nicht vorhanden.
— SOAP nutzt statt dem HTTP-Header eigene Felder in der Nachricht (SOAP-Envelope) zum Adressieren der Prozedur. SOAP
kann daher auch über andere Protokolle als HTTP verwendet
werden.
— SOAP-Nachrichten sind umfangreicher.
Ruby on Rails im Detail
Ruby on Rails ist ein Framework in der Programmiersprache Ruby.
Seit ca. 2005 existiert ein großer Hype um die Sprache.
URI: Unified Resource Identifier. Internetadressen sind Spezialfälle von
URIs.
25
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 1: Recherche
Recherche-Ergebnisse
Ruby on Rails im Detail
Bekannte, große Ruby on Rails-Projekte
— Xing: http://xing.com
— Twitter: http://twitter.com/
— Basecamp: http://www.basecamphq.com/
Ruby
Ruby ist eine objektorientierte, interpretierte Programmiersprache mit dynamischer Typisierung. Durch Sprachkonstrukte wie
„method_missing“ wird Meta-Programmierung erleichtert.
Mit einem eigenen Paketmanager (gem), einer interaktiven Shell
(irb) und einem eigenen make-Tool (rake) bietet Ruby wertvolle
Tools, die man z.B. in PHP vermisst. Negativ bleibt anzumerken,
dass Ruby erst mit der kommenden Version 2 Unicode-Unterstützung haben wird.
Obwohl die Sprache Ruby seit 1995 existiert, kam sie erst 2005
zu großer Bekanntheit. Innerhalb von einem Jahr stiegen die Buchverkäufe bei O’Reilly um 1500% und zogen mit denen von Python
gleich. Hintergrund war die Vorstellung des Frameworks „Ruby on
Rails“ im Juli 2004.
Ruby on Rails
Das Framework wurde von David Heinemeier Hansson bei
37signals entwickelt. Es wurde während der Entwicklung von
Basecamp programmiert. Ruby on Rails (oft „Rails“ abgekürzt) entstand also nicht in theoretischen Überlegungen, sondern aus einem
praktischen Anwendungsfall. Die zentralen Philosophien von Rails
sind:
— Convention over Configuration
— Don’t repeat yourself
Der initiale Entwicklungsaufwand wird stark gemindert, da Rails
für Alltagsaufgaben bereits die richtigen Werkzeuge mitbringt.
Wenn man eine Tabelle „Users“ und ein Model „User“ hat, weiß
Rails, dass diese zusammen gehören. Erst wenn man solche Konventionen nicht nutzen möchte, wird eine eigene Konfiguration
nötig. Weiterhin werden für die grundlegenden Aufgaben so
genannte Scaffolds automatisch generiert. Diese decken Auflistung,
Anzeige, Erstellung, Löschen und Bearbeiten von Objekten ab.
Eine Rails-Anwendung folgt dem Model-View-Controller-Pattern.
Integrierte automatisierte Tests und Erweiterbarkeit durch Plugins
komplettieren das Framework.
REST in Verbindung mit Ruby on Rails
Seit Rails 1.2 wird REST unterstützt. Seit Version 2 ist REST der standard Webservice-Typ. SOAP-Unterstützung kann aber nachgerüstet
werden.
Durch die MVC-Architektur ist für REST nur ein alternativer
View nötig – der standardmäßig erzeugt wird, wenn man an eine
URL „.xml“ anhängt oder per HTTP-Header den Content-Type text/
xml anfordert.
Ruby book sales surpass python: http://radar.oreilly.com/archives/2005/12/ruby-book-sales-surpass-python.html
26
„Can’t be a statue of me, no reason for it.“
Firefly 1-04: Jaynestown, Adam Baldwin
Kapitel 2
Konzept
Im Konzept findet die Festlegung der Anwendungsfunktionen statt.
Am Ende der Konzeptphase ist das Projekt auf dem Papier fertig.
Sie beginnt mit einer Definition bestimmter Begriffe und Rahmenbedingungen. Diese Aufstellung wurde im Verlauf der Konzeption immer wieder verändert und ergänzt.
Als nächstes werden Anwendungsbeispiele gesammelt, aus denen
wiederum abstrakte Use Cases abgeleitet werden. Diese münden im
Storyboard.
Beim Storyboard handelt es sich um eine vereinte Darstellung
von Sitemap und Wireframes. Das original-Storyboard finden Sie
im Anhang. Aus dem Storyboard ist leicht abzulesen, an welchen
Stellen welche Art von Kommunikation stattfindet.
Betreuer:
Diplomarbeit / SS 2008
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 2: Konzeption
Definitionen
In der technischen Planung des Projekts werden die folgenden
Begriffe verwendet: In der Programmierung wird jeweils der
englische Begriff (eingeklammert) verwendet. Es handelt sich nicht
notwendigerweise um die Begriffe, die später in der Anwendung
verwendet werden. Diese sind gesondert zu entwickeln.
Client
Das Programm, das auf dem Endgerät läuft.
Benutzer (User)
Ein Benutzer ist einerseits der Mensch, der den Client verwendet,
andererseits eine Entität, die serverseitig zur Authentifizierung
gespeichert werden muss. Diese besteht aus:
— Handynummer
— Passwort
— Nickname (optional)
— E-Mailadresse (optional)
Ort (Place)
Ein Ort ist ein (beliebiger) bestimmter Platz auf der Welt. Es kann
sich dabei z.B. um den eigenen Vorgarten handeln. Der Ort hat nur
ein paar Einstellungen und beinhaltet Einträge. Wird er „geöffnet“ kann man ihn weiterhin betrachten, auch wenn man den Ort
verlässt. Beim Anlegen gilt der Punkt, an dem man sich befand, als
„neuen Ort erstellen“ aus dem Standby-Menü ausgewählt wurde.
— Position (Über den Umweg des PositionHelpers kann ein Ort
mehrere Positionseinträge haben um z.B. sowohl per WLAN als
auch per GPS auffindbar zu sein.)
— Erstellungszeitpunkt
— Letzter Änderungszeitpunkt
— Besitzer
— Titel
— Farbe
— Privat/Öffentlich?
— Größe
— Sprache [deutsch, englisch, ...]
— Art [Fun / Info]
— Statistisch: Wie oft aufgerufen
— Statistisch: Wie oft durchquert
Positions-Helfer (PositionHelper)
Die sinnvollste – weil eindeutigste – Form der Ortung sind Geokoordinaten. Um andere Ortungsmethoden als GPS zu ermöglichen, gibt
es den PositionHelper. Es handelt sich dabei um Einträge, die zum
Beispiel WLAN-SSIDs mit Geokoordinaten verbinden.
Positionshelfer werden weder dem Benutzer noch dem Administrator angezeigt, sie dienen lediglich der internen Verknüpfung.
Ein Positionshelfer wird immer dann angelegt oder aktualisiert,
wenn ein Client mehrere Ortungstechniken an den Server sendet.
28
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 2: Konzeption
Definitionen
Zu speichern sind daher die folgenden Eigenschaften:
— Referenz-Koordinate
— Alternative Ortung (z.B. SSID und Signalstärke)
— Stationär (wurde der Punkt an einem anderen, weit entfernten
Ort beobachtet? Entscheidet über Brauchbarkeit für eindeutige
Ortung.)
— Ortungsqualität (Ortungen mit schlechter Qualität können gegen
bessere PositionHelper ausgetauscht werden.)
Eintrag (Post)
Alles, was an Informationen hinterlegt wird, ist ein Eintrag. Ein
Eintrag kann Text, Bild, Audio, Video, Weblinks, 3D-Informationen,
Programme oder Datei-Downloads als Anhang enthalten.
Einträge können Antworten auf andere Einträge sein oder direkt
einem Ort zugeordnet sein.
Ein Eintrag besteht aus folgenden Informationen:
— Erstellungszeitpunkt
— Letzter Änderungszeitpunkt
— Besitzer
— Zuordnung zu einem Ort
— Antwort auf einen anderen Eintrag am Ort (optional)
— Text
— Anhang
Anhang (Attachment)
Beliebige Daten können als Anhang mitgesendet werden. Soweit
möglich werden diese Daten in Client-taugliche Formate konvertiert
und innerhalb des Clients angezeigt.
— Datei
— Content-Type
— Größe
— Info (bei Bild: Auflösung, bei Audio/Video: Länge)
— Anzahl Downloads
Meldung (Message)
Eine Meldung ist eine einfache Textnachricht, die Admin und
Benutzer in Kontakt bringen. So kann zum Beispiel der Admin über
eine Sperrung (und deren Grund) informieren, der Benutzer kann
Fehler im System oder ungeeignete Inhalte melden. Auch Programmupdates können auf diesem Weg gemeldet werden.
Technisch gesehen könnte auch zwischen Mitgliedern ein
Nachrichtendienst errichtet werden. Dies soll jedoch vorerst nicht
ermöglicht werden.
Meldung umfasst die Daten:
— Ersteller
— Empfänger
— Absendezeitpunkt
— Lesezeitpunkt
— Betreff (optional, bei Nachrichten von Benutzer zu Admin der
Einfachheit halber nicht vorgesehen)
— Absende-Ort (optional)
— Text
29
Betreuer:
Diplomarbeit / SS 2008
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 2: Konzeption
Definitionen
Einstellung (Setting)
Viele Parameter eines Programms können nicht fest verdrahtet
werden. Sie müssen in irgendeiner Weise konfigurierbar sein. Dies
ist eine Aufstellung dieser Einstellungen.
— Schriftgröße innerhalb der Anwendung
— Serveradresse (voreingestellt auf Projekt-URL, kann aber geändert werden, möglicherweise auch mehrere URLs)
— [Nur Info-Orte / Nur Fun-Orte / Alle Orte]
— Meine Sprache [de, en, fr, ...]
— Nur Einträge in meiner Sprache anzeigen [ja, nein]
— Werden Anhänge automatisch heruntergeladen? [Ja, Nein] (evtl.
nach Content-Type unterscheiden)
— Benachrichtigungsart [Sound, Vibration, Licht, Keine]
— Benachrichtigen bei: [allen Orten, neuen Orten, Orten mit neuen
Einträgen, meinen Orten]
— Lieblingsfarbe voreinstellen für Orte (Farbwähler oder vordefinierte Palette)
— Über mich anzeigen: [Nichts, Nick, Telefonnummer] Wird auf
dem Server gespeichert
— Passwort Wird auf dem Server gespeichert
Neben der Tatsache, dass diese Einstellungen existieren müssen,
müssen manche auch auf dem Server gespeichert sein. Dazu
werden serverseitig die folgenden Daten vorgehalten:
— Einstellung (um welche Einstellung dreht es sich)
— Wert (wie ist die Einstellung?)
30
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 2: Konzeption
Interaktionskonzept
SK1
zurück
hoch
SK2
Auswahl,
Vor,
OK
Auswahl
runter
Typisches Steuerkreuz mit geplantem
Navigationskonzept
Auf den meisten Handys steht eine 5-Wege Navigation mit zwei
zusätzlichen Soft-Keys zur Verfügung. Für die Soft-Keys muss
entsprechend eine Beschriftung eingeplant werden, da sich diese
Belegung kontextabhängig verändern kann.
Der „Content-Bereich“ muss sehr viele Informationen enthalten
können und soll deswegen bei Bedarf vertikal scrollen. Damit ist die
Hoch- bzw. Runtertaste bereits für die Scrollfunktion bzw. vertikale
Auswahl verplant.
Die mittlere Taste ist klassischerweise die Auswahl oder Bestätigung des aktiven Menüpunkts. Diese Konvention soll auch in der
Anwendung befolgt werden.
Sofern links und rechts nicht innerhalb eines Screens gebraucht
werden, stehen sie für zurück und Auswahl zur Verfügung.
Die Softkeys werden je nach Bedarf mit Funktionen belegt.
31
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 2: Konzeption
Anwendungsbeispiele
„There’s no way to design all things for all people. When
you’re dealing with the masses, it’s best to try to facilitate
behaviour, rather than to predict it. Design, in this context,
becomes more about showing what’s possible than showing
what’s there.“
George Oates, „Community: From Little Things, Big Things Grow“,
A List Apart 06.05.2008
http://www.alistapart.com/
articles/fromlittlethings
Obwohl die Applikation keines der möglichen Anwendungsbeispiele speziell fördert, so sind doch die folgenden Nutzungsweisen
möglich. Dem Benutzer ist die Nutzung völlig freigestellt, was nahe
legt, dass in Zukunft noch andere Anwendungen gefunden werden.
Darüber hinaus kann das System als Framework verstanden
werden, auf dem andere komplexere oder spezialisiertere Anwendungen aufsetzen.
Die Anwendungsbeispiele sind nach drei Achsen kategorisiert:
— Touristisch, kommerziell, privat
— Involvierend, informierend
— Lean-Back, Lean-In
kommerziell
Kino-Info
touristisch
privat
Gästebuch / Gipfelbuch
Klosprüche
Timeline
Zeitvertreib
Lean-Back
Virtuelles Geocaching
Gastronomie-Bewertung
Lean-In
Event-Forum
Historische Information
Kleinanzeige
Kleinanzeige
Self-Guided Tour
Geoblogging
Produktinformation
Semapedia
Qype Mobile
Legende
Informierend
Involvierend
Involvierend: Ich werde zum Mitmachen animiert.
Informierend: Ich werde lediglich informiert.
Lean-In: Ich beschäftige mich aktiv mit dem Inhalt.
Lean-Back: Ich lasse mich vom Inhalt unterhalten oder berieseln.
32
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 2: Konzeption
Anwendungsbeispiele
Virtuelles Geocaching
touristisch / pr
ivat
Informierend
lean-In
kommerziell
Informierend
lean-back
Geocaching bezeichnet eine Art Schnitzeljagd mit GPS-Empfänger.
Neben einfachen „finde Koordinate X“-Caches gibt es aber auch
Multi-Caches, bei denen man von Punkt zu Punkt laufen muss – oftmals mit Rätseln oder Aufgaben, die den nächsten Punkt verraten.
Ein solcher Zwischen- (oder End-) Punkt könnte ein virtueller
Punkt sein, den man schon durch das Betreten findet. An diesem
Punkt könnte die nächste Koordinate oder das nächste Rätsel hinterlegt sein.
Kino-Info
Sie stehen am Kino und bekommen den Trailer zu den aktuellen
Filmen angeboten. Sollte Ihnen der Trailer gefallen haben, können
Sie eine Reservierung hinterlassen.
Gästebuch / Gipfelbuch
involvierend
ack
lean-b
erziell
komm
ierend
inform
n
a
le -in
„Ich war hier.“ Diese Worte können nicht nur in einem Buch stehen,
sondern auch virtuell hinterlassen werden. Der Gipfelstürmer
könnte sich und seine Gruppe fotografieren und das Bild der Nachwelt hinterlassen.
Gastronomie-Bewertung
Ein Restaurant könnte einen eigenen Spot vor der eigenen Haustür
pflegen. Hier können Gäste wie in einem Gästebuch Nachrichten
oder Bilder hinterlassen. Potentielle Gäste können sich eine Meinung von dem Restaurant bilden.
Historische Informationen
touristisch
informierend
lean-back
Sie stehen in der Altstadt an der wichtigen Statue von Graf Franz.
Sie haben nur keine Ahnung, wer Graf Franz war und warum er
eine Statue mitten auf dem Marktplatz errichtet bekam. Weil Sie
mit Ihrem Handy in der Nähe sind, kann es Ihnen hierüber genau
Auskunft geben. Nun wissen Sie, wann er lebte und weswegen er so
berühmt war.
Diese Information kann zum Beispiel als Audio-Datei vorliegen
und wird Ihnen vorgesprochen, während Sie die Statue betrachten.
Timeline
touristisch
informierend
lean-back
An interessanten Orten könnte hinterlegt sein, wie es hier vor
vielen Jahren aussah. So könnte eine Art Zeitleiste die Entwicklung
eines Stadtzentrums zeigen.
Eine Variante hiervon ist das Baustellenschild „Hier entsteht“.
Innerhalb des Systems könnte man nicht nur Bilder und Text unterbringen, sondern ein Interview mit dem Bürgermeister und ein
3D-Modell vom entstehenden Haus.
Self-Guided Tour
touristisch
informierend
lean-in
An einem Informationspunkt (siehe oben) könnten zusätzlich Informationen hinterlegt sein, wo andere interessante Punkte im Ort
sind. Ein solcher Ort könnte „verlinkt“ sein, so dass man vom Gerät
dorthin geführt wird.
33
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 2: Konzeption
Anwendungsbeispiele
Event-Forum
Sie befinden sich bei einem Festival und können sich direkt mit den
anderen vor Ort austauschen. Außerdem werden vom Veranstalter
aktuelle Informationen wie Planänderungen oder die Toilette mit
der kürzesten Schlange bereitgestellt.
kommerziell
involvierend
lean-i n
Kleinanzeige / Flugblatt / Plakat
erziell
omm
privat/k
ierend
inform
lean-in
Sie kennen die Flyer unter Ihrem Scheibenwischer – meist werden
sie im kleinen Umkreis um Veranstaltungsorte von Parties verteilt.
Dies könnte entfallen, indem man an dem Ort einen solchen Informations-Spot aufsetzt.
Wenn gerade keine Party ansteht, könnte man auch Kleinanzeigen darüber realisieren. Zur Verkaufsanzeige kann dann zusätzlich
eine kurzes Video angehängt werden.
Klosprüche
privat
involvierend
ack
lean-b
Statt mit Edding die Toilette zu verschandeln, könnte man einfach
einen Spruch im Virtuellen für alle Nachfolger hinterlassen. Beliebig Platz ist vorhanden und einen Filzstift braucht man auch nicht.
Zeitvertreib
privat
involvierend
lean-back
kommerziell
informierend
lean-back
Sie stehen an der Bushaltestelle und starten eine Diskussion. Mit
Leuten, die gar nicht da sind. Jeden Morgen und Abend, wenn Sie
wieder an der Haltestelle sind, können Sie verfolgen, was andere
schrieben und Ihre Meinung hinterlassen.
Produktinformationen
Während Sie durch den Supermarkt schlendern, informiert Ihr
Handy Sie darüber, dass in diesem Gang das Angebot der Woche
wartet: 25 Kilo Gehacktes für 2,99 €. Da Sie das unbedingt brauchen,
greifen Sie sofort zu.
Qype Mobile
kommerziell
involvierend
lean-i n
Der Anbieter Qype hat es sich auf die Fahnen geschrieben Lieblings-Orte zu sammeln. Die Koordinaten sind bekannt und könnten
ohne großen Aufwand auch über dieses System zugänglich gemacht
(und geändert) werden. In der Praxis sind diese Orte (wie bereits
beschrieben) oftmals Gastronomiebetriebe.
Semapedia
touristisch
informierend
lean-i n
Semapedia (siehe Bestandsaufnahme) basiert auf dem Abfotografieren von Barcodes. Für viele Themen ist dies aber gar nicht nötig:
Man könnte den zugehörigen Wikipedia-Artikel einfach durch den
Ort, an dem man sich befindet, verlinken. Zum Vorteil wird hierbei, dass einigen Wikipedia-Einträgen die Geokoordinaten bereits
zugeordnet sind.
Anders als beim Semapedia-Projekt müsste man sich nicht auf
Wikipedia beschränken, sondern könnte auch den ansässigen
Heimatschutzverein verlinken, der eventuell wesentlich umfangreichere Informationen bereithält.
34
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 2: Konzeption
Anwendungsbeispiele
Geoblogging
privat
involvierend
lean-i n
An für den Besucher besonderen Orten könnte er einen geografischen Blog führen. Anders als beim klassischen Blog stünde der
Bezug zum Ort und nicht zur Zeit im Vordergrund.
Außerdem könnten andere, interessierte Personen mitbloggen.
35
Position ändern
Benutzer
Objekte auflisten
Diplomarbeit / SS 2008
Betreuer:
Objekt erstellen
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Objekt ändern
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 2: Konzeption
Objekt löschen
Server (www)
Eintrag moderieren
Use Case-Beschreibung
Admin
Benutzer sperren
Meldung beantworten
Akteur: Client (selbständig)
gelesen!
Anhang herunterladen
Einstellung speichern
Endgerät
Server (Webservice)
Use Cases des Endgeräts
Position ändern (durch Gehen, Fahren)
Während der Benutzung wird der
sich bewegen. Das
OrtBenutzer
anlegen
System muss also auf dem Laufenden bleiben, welche Orte gerade
Eintrag anlegen
im Umkreis vorhanden sind. Sind neue Orte in der unmittelbaren
Nähe, kann das System sich beim
Ort Benutzer
auswählen melden.
Informationen lesen
Client herunterladen
Registrieren
Benutzer
Position ändern
Gelesen! Senden
Objekte auflisten
Daten
hochladen
Um die Übersicht zu erleichtern
wird,
dem Benutzer angezeigt, ob
Beiträge noch ungelesen sind. Daten
Hierzu
muss
beim Lesen eines Beiauswählen
trags übertragen werden, dass er gelesen wurde.
Objekt erstellen
Objekt ändern
Ändern/Löschen von Eintrag
Objekt löschen
Anhang herunterladenMeldung lesen
Server (www)
Eintrag moderieren
Lädt den Anhang zum Anzeigen für den Benutzer herunter
Admin
Meldung verfassen
Benutzer sperren
Meldung beantworten
Eintrag lesen
Benutzer
Einstellung
ändern
Einstellung serverseitig
speichern
Endgerät
Eine Hand voll Einstellungen
müssen auf dem Server vorliegen, also
Meta-Informationen lesen
muss der Client diese auch senden können.
Im Hintergrund laufen lassen
gelesen!
Daten aufzeichnen
Anhang herunterladen
Endgerät
Einstellung speichern
Use Cases von Benutzer und Endgerät (Text siehte nächste Seite)
Server (Webservice)
Ort anlegen
Eintrag anlegen
Ort auswählen
Ort anlegen
Eintrag lesen
Eintrag anlegen
Daten hochladen
Ort auswählen
Daten auswählen
Eintrag lesen
Ändern/Löschen von Eintrag
Daten hochladen
Meldung lesen
Ändern/Löschen von Eintrag
Meldung verfassen
Benutzer
Einstellung ändern
Meta-Informationen lesen
Im Hintergrund laufen lassen
Endgerät
Meldung lesen
Server (Webservice)
Meldung verfassen
Einstellung ändern
Daten aufzeichnen
36
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 2: Konzeption
Use Cases
Akteur: Benutzer (regelmäßig)
Ort anlegen
Einen Ort kann man immer anlegen, egal wo man sich befindet.
Dafür muss nur eine beliebige Positionierung vorhanden sein. Ort
anlegen beinhaltet zwangsläufig „Eintrag anlegen“, da ein Ort selbst
erst einmal nur einen optionalen Titel und ein paar Einstellungen
enthält.
Eintrag anlegen/beantworten
Erstellt einen Eintrag und ordnet ihn einem Ort oder einem anderen Eintrag zu.
Ort aus mehreren nahen Orten auswählen
Sollte an meiner momentanen Position mehr als ein Ort vorhanden
sein, muss ich einen davon auswählen können, den ich nun lesen
möchte.
Eintrag lesen/abspielen
Zeigt den Eintrag an, sofern es sich um einen unterstützten Dateityp
handelt.
Daten hochladen zum Eintrag (Bild/Ton/
Video/3D/Sonstige Daten)
(Beinhaltet „Daten aufzeichnen“ oder „Daten aus Dateisystem auswählen“)
Daten aus Dateisystem auswählen
Wählt eine beliebige Datei aus dem Dateisystem aus.
Löschen/Ändern von Einträgen
Ob Einträge geändert oder gelöscht werden können, steht noch
nicht fest. Prinzipiell möchte ich diese Möglichkeit jedoch offen
halten.
Im Hintergrund laufen lassen
Da wir nicht die einzigen sind, die um die Gunst des Benutzers
buhlen, muss das System im Hintergrund laufen können. Es wird
weiterhin neue Informationen holen und sich bei Bedarf melden.
Meta-Informationen zu Eintrag lesen (Datum,
Autor, ...)
Einträge haben eine Reihe von Meta-Informationen, die man sich
anzeigen lassen kann. Dazu gehören: Erstell-Zeitpunkt, Autor, Lesezeitpunkt (wann habe ich den Eintrag zum ersten Mal gelesen?),
von wievielen Leuten wurde der Eintrag gelesen und wie oft wurde
der Ort durchquert?
Daten aufzeichnen (Foto, Audio, Video) direkt im
Programm
Die Handyfunktionen verwenden, um die Eintrags-Daten direkt im
Programm zu erstellen.
37
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 2: Konzeption
Use Cases
Akteur: Benutzer (selten)
Meldung lesen
Meldungen sind zum Beispiel Programmupdates. Auch könnten
„Antworten auf meine Einträge“ aufgelistet sein. Diese können beim
Start angezeigt werden.
Meldung verfassen
Eine Meldung geht direkt an den Admin. Vorrangig kann sie genutzt
werden, um ungeeignete Inhalte zu melden.
Einstellungen ändern
Verschiedene Einstellungen, siehe oben „Konventionen“. Enthält
den Client-Use-Case “Einstellung serverseitig speichern“.
Akteur: Benutzer (im Web)
Informationen lesen
Client herunterladen
Registrieren
Benutzer
Position ändern
Objekte auflisten
Objekt erstellen
Objekt ändern
Objekt löschen
Server (www)
Eintrag moderieren
Admin
Benutzer sperren
Meldung beantworten
Use Cases im Web
gelesen!
Informationen einholen (Texte, Erklärung etc.)
herunterladen
Der Benutzer wird Anhang
das Programm
wahrscheinlich über eine Website oder via WAP beziehen. Auf dieser Seite sollten weitere InforEinstellung speichern
Endgerät
mationen enthalten sein.
Server (Webservice)
Client herunterladen
Das eigentliche Herunterladen auf den Rechner bzw. das Endgerät.
Ort anlegen
Registrieren
Eintrag anlegen
Der Benutzer wählt einen Benutzernamen und ein Passwort, mit
Ort auswählen
dem er im System identifiziert wird.
Eintrag lesen
Daten hochladen
Daten auswählen
Ändern/Löschen von Eintrag
38
Meldung lesen
Ände
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 2: Konzeption
Use Cases
Akteur: Admin
CRUD für Benutzer, Orte, Einträge und
Meldungen
Auflisten (und Filtern), Anlegen, Ändern und Löschen von Benutzern, Orten, Einträgen und Meldungen gehören zu den Standard­
aufgaben, die ein Admin erledigen können muss.
Meldung beantworten
Beantwortet eine Meldung im System.
Benutzerdaten übertragen
Es kann zum Beispiel vorkommen, dass ein Nutzer einen neuen
Vertrag abschließt, seine erstellten Beiträge aber erhalten möchte.
Dazu muss ein Administrator seinen alten Benutzer auf seinen
neuen Login umstellen können.
Benutzer sperren
Benutzer, die durch unerwünschtes Verhalten auffallen, können
durch einen Admin gesperrt werden.
Einträge moderieren (z.B. Verschieben)
Es kann vorkommen, dass ein Eintrag verschoben werden muss.
Möglicherweise wurde einfach geantwortet, obwohl ein neuer Ort
sinnvoller gewesen wäre.
Weitere Akteure
Webserver und Webservice sind theoretisch Akteure, jedoch sind
sie nur Mittel zum Zweck und daher in den beschriebenen UseCases implizit enthalten.
39
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 2: Konzeption
Client-Storyboard
Legende
01
Sonderfall:
erster Start
Registrierung
Programmstart
Möglicher Weg
07
Möglicher Weg
m. Bedingung
Text
Hilfe
(Hilfe, About)
09
Einstellung
ändern
11
Meldung
lesen
12
Meldung
schreiben
17
Ort
löschen
02
Ort
anlegen
08
Ortung
möglich
Standby
Abkürzung/
Sonderfall
05
06
Anhang
auswählen
Anhang
aufnehmen
Einstellungen
10
Meldungen
auflisten
03
Eintrag
anlegen
Ort/Eintrag
Ansicht
Eigener Ort
löschen
04
Ort in
der nähe
abbrechen
Screen
Wichtiger
Screen
18
Minimiert
13
16
Ort
bearbeiten
Eigener Eintrag
löschen
15
Eintrag
löschen
14
Eintrag
bearbeiten
02
Standby
Client-Sitemap
Wenn Sie diese Arbeit auf Papier lesen, finden Sie
eine Sitemap zum Ausklappen im Anhang.
01 Registrierung
A
links
hoch
B
C
rechts
Beschreibung
Der erste Start erfordert eine Reihe von Grundeinstellungen. Dieser
Screen taucht daher nur beim ersten Start auf. Diese und andere
Einstellungen findet man später unter 08 Einstellungen.
Aktionen
runter
Tasten-Erklärung
Links: Nichts
Rechts: Nichts
Hoch/Runter: Zwischen einzelnen Feldern auswählen
A/B/C: Nichts / Auswahl eines Punktes / Speichern
Hintergrundprozesse
— Benutzername/Passwort mit dem Server abgleichen
— GPS-Gerät einrichten (sofern vorhanden)
40
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 2: Konzeption
Client-Storyboard
02 Standby
Beschreibung
Hauptansicht bei normalem Programmstart. Zeigt eine ständig
aktuelle Auswahl von Orten an, sowie die Option, einen neuen
Ort zu erstellen. Auch Einstellungen, Minimieren und Meldungen
finden sich hier wieder.
Bei bestimmten Fehlern (Internetverbindung oder Ortungsproblem) wird anstatt der Orte der Fehler angezeigt.
Aktionen
Wireframe für 02 Standby
Links: Nichts
Rechts: Aktuellen Menüpunkt auswählen
Hoch/Runter: Einträge durchgehen
A/B/C: Nichts / Aktuellen Menüpunkt auswählen / Nichts
Hintergrundprozesse
—
—
—
—
Mit Ortungsgeräten verbinden
Positionsdaten an Server schicken, Orte aktualisieren
Abrufen der Nachrichten.
Regelmäßiger Abgleich von Position mit bekannten Orten
03 Ort/Eintrag Ansicht
Beschreibung
In diesem Screen wird ein Ort mit allen seinen Einträgen (chronologisch) angezeigt. Je nach Einstellung werden Anhänge automatisch
heruntergeladen.
Aktionen
Wireframe f. 03 Ort/Eintrag Ansicht
(gekürzt)
Links: Zurück zu 02 Standby
Rechts: Nichts
Hoch/Runter: Einträge der Reihe nach rückwärts/vorwärts durchgehen
A/B/C: Bearbeiten (nur bei eigenen Einträgen und Orten) / Herunterladen bzw. abspielen (nur bei linearen Medien) / Antworten
Hintergrundprozesse
— Download-Queue für Anhänge
04 Eintrag anlegen
Beschreibung
Beim Antworten auf einen bestehenden Ort (und auch nach dem
Anlegen eines neuen Ortes) wird man zum Eingeben eines neuen
Eintrags aufgefordert. Dieser kann aus Text, einem Anhang oder
beidem bestehen. Der Anhang kann aus dem Dateisystem geholt
oder neu aufgezeichnet werden.
Aktionen
Links: Zurück zu vorherigem Screen (07 oder 03)
Rechts: Bestätigen (senden,anlegen)
Wireframe für 04 Eintrag anlegen
41
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 2: Konzeption
Client-Storyboard
Hoch/Runter: Wechseln zum Text-Bereich / wechseln zum AnhangBereich
A/B/C: Abbrechen / In Eintragsfeld bzw. Anhang-Feld gehen /
Senden (nur möglich, wenn Text oder Anhang ausgewählt wurde)
Hintergrundprozesse
— Eintrag an Server senden
05 Anhang auswählen
Beschreibung
Wählt per systemeigenem Filebrowser eine Datei zum Anhängen
aus. Dies kann jeder beliebige Dateityp sein.
Aktionen
Tastenbelegung entsprechend Handyhersteller
Hintergrundprozesse
keine
06 Anhang aufzeichnen
Beschreibung
Zeichnet einen Anhang direkt in der Anwendung auf. Zeigt für Foto
und Video einen Sucher an, für Audio nur ein Aufnahme-Symbol.
Aktionen
Links: Zurück (abbrechen)
Rechts: Zurück (Aufnahme übernehmen)
Hoch/Runter: Nichts / Nichts
A/B/C: Abspielen / Aufnahme, Stop / Zurück (Aufnahme übernehmen)
Hintergrundprozesse
Wireframe f. 06 Anhang aufzeichnen
— Mit dem entsprechenden Gerät (Kamera/Mikro) verbinden
— In einen Zwischenspeicher schreiben
— Daten an den Server senden
07 Ort anlegen
Beschreibung
Jeder Benutzer darf beliebig viele Orte anlegen. Dazu muss er in
irgendeiner Form geortet sein.
Aktionen
Links: Abbrechen
Rechts: Weiter zu Eintrag anlegen
Hoch/Runter: Zwischen einzelnen Punkten wechseln
A/B/C: Abbrechen / Eintrag zum Ändern auswählen / Weiter zu
Eintrag anlegen
Wireframe für 07 Ort anlegen
Hintergrundprozesse
— Daten zwischenspeichern und 06 Anhang aufzeichnen aufrufen.
42
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 2: Konzeption
Client-Storyboard
08 Einstellungen
Beschreibung
Listet verschiedene Optionen auf (siehe Definitionen - Einstellungen
(Settings)). Jede Option hat einen prägnanten Namen, ihr aktueller
Wert ist zu sehen.
Aktionen
Links: Zurück zu 02 Standby
Rechts: Option ändern
Hoch/Runter: Vorige, nächste Option auswählen
A/B/C: Zurück zu 02 Standby / Option ändern / Nichts
Hintergrundprozesse
Wireframe für 08 Einstellungen
keine
09 Einstellung ändern
Beschreibung
Eine einzelne Option wird vom Benutzer bearbeitet. Neben dem
Titel und der Einstellung zeigt das Gerät nun auch eine kurze
Beschreibung der Einstellung.
Aktionen
Links: Zurück zu 08 Einstellungen ohne zu speichern oder links
navigieren (z.B. bei Text)
Rechts: Zurück zu 08 Einstellungen mit speichern oder rechts navigieren (z.B. bei Text)
Hoch/Runter: Vorige, nächste Option auswählen (sofern es eine
Auswahlliste ist)
A/B/C: Zurück zu 08 Einstellungen ohne Speichern / Zurück zu 08
Einstellungen mit Speichern / Nichts
Wireframe für 09 Einstellung ändern
Hintergrundprozesse
— Geänderte Optionen im Gerät persistent speichern
— Geänderte Optionen, die serverseitig bekannt sein müssen,
(Sichtbarkeit des eigenen Namens etc.) werden an den Server
übertragen.
10 Meldungen auflisten
Beschreibung
Listet Nachrichten auf, die über das System geschickt wurden.
Aktionen
Links: Zurück zu 02 Standby
Rechts: Nichts
Hoch/Runter: Vorige, nächste Nachricht markieren
A/B/C: Zurück zu 02 Standby / Aktuelle Nachricht lesen / Nachricht
verfassen
Wireframe f. 10 Meldungen auflisten
43
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 2: Konzeption
Client-Storyboard
Hintergrundprozesse
— Nachrichtenliste vom Server abrufen
— Nachrichtenstatus auf dem Server speichern
11 Meldung lesen
Beschreibung
Die zuvor ausgewählte Nachricht wird komplett angezeigt.
Aktionen
Wireframe für 11 Meldung lesen
Links: Zurück zu 10 Meldungen auflisten
Rechts: Nichts
Hoch/Runter: Text scrollen (falls nötig)
A/B/C: Zurück zu 10 Meldungen auflisten / Zurück zu 10 Meldungen
auflisten / Antworten
Hintergrundprozesse
— Nachricht als gelesen markieren
12 Meldung schreiben
Beschreibung
Eine neue Nachricht an den Administrator schreiben
Aktionen
Links/Rechts/Hoch/Runter: Im Text navigieren.
A/B/C: Zurück zu 10 Meldungen auflisten / Nachricht senden / Nichts
Hintergrundprozesse
— Nachricht an den Server schicken
Wireframe für 12 Meldung schreiben
Randbemerkung:
Screen 13 wurde nicht ausgelassen
oder vergessen.Er entfiel später im
Konzept. Es handelte sich um den
Screen „Metadaten anzeigen“
14 Eintrag bearbeiten
Beschreibung
Einen bestehenden eigenen Eintrag nochmal überarbeiten. Dieser
Screen orientiert sich stark an 04 Eintrag anlegen.
Aktionen
Links: Zurück zu vorherigem Screen (03)
Rechts: Bestätigen (senden)
Hoch/Runter: Wechseln zum Text-Bereich / Wechseln zum AnhangBereich
A/B/C: Abbrechen / In Eintragsfeld bzw. Anhang-Feld gehen /
Löschen (wenn nichts verändert wurde) oder Speichern (wenn
Änderungen gemacht wurden)
Hintergrundprozesse
— Eintrag an Server senden
Wireframe für 14 Eintrag bearbeiten
44
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 2: Konzeption
Client-Storyboard
15 Eintrag löschen
Beschreibung
Lässt einen Benutzer seinen Eintrag löschen.
Aktionen
Links: Zurück zu vorherigem Screen (03)
Rechts: Nichts
Hoch/Runter: Scrollen bei langem Text
A/B/C: Abbrechen / Löschen / Nichts (Die „löschen“-Taste wechselt
die Position, um versehentliches Auslösen zu erschweren).
Hintergrundprozesse
— Eintrag vom Server löschen
Wireframe für 15 Eintrag löschen
16 Ort bearbeiten
Beschreibung
Ein eigener Ort kann nachträglich geändert werden. Der Screen ist
ähnlich dem 07 Ort anlegen.
Aktionen
Links: Abbrechen
Rechts: Änderungen übernehmen
Hoch/Runter: Zwischen einzelnen Punkten wechseln
A/B/C: Abbrechen / Eintrag zum Ändern auswählen / Löschen (wenn
noch keine Änderung gemacht wurde) oder Speichern (wenn eine
Änderung gemacht wurde)
Hintergrundprozesse
— Änderungen an den Server senden
Wireframe für 16 Ort bearbeiten
17 Ort löschen
Beschreibung
Eine gewünschte Löschung muss hier nochmals bestätigt werden.
Aktionen
Links: Abbrechen
Rechts: Nichts
Hoch/Runter: Scrollen bei langem Eintrag
A/B/C: Abbrechen / Löschen / Nichts
Hintergrundprozesse
Ort auf dem Server löschen
18 Hilfe, Meldungen
Beschreibung
Wireframe für 17 Ort löschen
Blendet Hilfe- oder Textmeldungen ein. Eine beliebige Taste bestätigt die Meldung.
Enthält keine weiteren Aktionen oder Hintergrund-Prozesse.
45
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 2: Konzeption
Kommunikation
Die folgenden Kommunikationsvorgänge können im Produkt vorkommen:
—
—
—
—
—
—
—
—
—
—
Positions-Update (damit werden Orte abgerufen)
Ort ansehen (damit werden Einträge am Ort abgerufen)
Anhang abrufen
Eintrag anlegen oder ändern
Eintrag löschen
Ort anlegen oder ändern
Ort löschen
Meldungen empfangen
Meldung senden
Serverseitige Einstellung ändern
46
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 2: Konzeption
Server-Sitemap
Für die Serveranwendung liegen zwei Sitemaps vor: Eines für den
Admin und eines für Besucher.
Besucher
About
Download
Impressum
Admin
Benutzer (Liste)
Benutzer
erstellen
Benutzer
anzeigen
Benutzer
bearbeiten
Benutzer
löschen
Ort
anzeigen
Ort
bearbeiten
Ort
löschen
Eintrag
anzeigen
Eintrag
bearbeiten
Eintrag
löschen
Meldung
anzeigen
Meldung
bearbeiten
Meldung
beantworten
Benutzer
übertragen
Orte (Liste)
Registrieren
Ort
erstellen
Login
Einträge (Liste)
Eintrag
erstellen
Meldungen (Liste)
Meldung
erstellen
Sitemap für den Admin-Bereich
Meldung
löschen
Admin-Sitemap
Der Administrator braucht im Wesentlichen die Möglichkeit, die
Datenbankeinträge zu administrieren.
Legende
Möglicher Weg
Menü-Item
Unterseite
47
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 2: Konzeption
Server-Sitemap
Besucher-Sitemap
Besucher
About
Download
Impressum
Für denAdmin
Besucher steht eine Microsite zur Verfügung. Sie besteht
aus den wesentlichen Informationen, die das Produkt erklären und
eine Anmeldung ermöglichen.
Sie
hat keine verzweigte
Benutzer
(Liste) Hierarchie, sondern besteht aus fünf
Bereichen: About, Download, Impressum, Registrieren und Login.
Benutzer
erstellen
Benutzer
anzeigen
Benutzer
bearbeiten
Ort
anzeigen
Ort
bearbeiten
Eintrag
anzeigen
Eintrag
bearbeiten
Meldung
anzeigen
Meldung
bearbeiten
Orte (Liste)
Registrieren
Ort
erstellen
Login
Einträge (Liste)
Besucher Sitemap
Eintrag
erstellen
Meldungen (Liste)
Meldung
erstellen
48
„I will paint my picture
Paint myself in blue and red and black and gray
All of the beautiful colors are very, very meaningful
Yeah but you know gray is my favorite color
I felt so symbolic yesterday
If I knew Picasso
I would buy myself a gray guitar and play“
Counting Crows – Mr. Jones
Kapitel 3
Produktdesign
Nachdem im vergangenen Kapitel festgelegt wurde, was das Produkt können soll, wird in diesem Abschnitt festgelegt, wie es wirken
und aussehen soll.
Dieses Kapitel enthält Punkte, die normalerweise in einem Style­
guide zu finden wären, so zum Beispiel Wording, Schrift, Farben und
Logo.
Betreuer:
Diplomarbeit / SS 2008
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 3: Produktdesign
Design-Direction
Zur Stilfindung der Anwendung werden möglichst unterschiedliche Stilvorlagen erstellt. Sie basieren auf anwendungsverwandten
Begriffen. Diese Vorlagen werden einem breiten Publikum vorgestellt, das mit dem Thema der Anwendung vertraut ist.
Begriffe
Die Anwendung ist ein Produkt ihrer technischen Umsetzbarkeit,
nicht einer bestimmten Notwendigkeit oder Problemstellung. Sie
hat als solche einen eher spielerischen und experimentellen Wert.
Der Ort ist der zentrale Gedanke. An ihm werden Informationen
hinterlassen und abgerufen.
Brainstorming spielerisch
Spaß, Party, Menschen, Interaktion, Spiele, Schnitzeljagd, Verbindung, Garten, Straße, Gebäude, Umgebung, Stadt, Land, Fluss,
Twister, jonglieren, bunt, leicht, schnell, rennen
Brainstorming Navigation, finden, entdecken
Schifffahrt, Sterne, Sextant, entdecken, Mathematik, Landkarte, alt,
Navigationssystem, Flugzeuge, Tower, GPS, Enterprise
Brainstorming technisch
Maschine, Computer, Metall, Kunststoff, Spiegelzeigermessgerät,
Digitalanzeigen, Kabel, Anschlüsse, Funk, GPS, Wellen, Radar, Landkarte, Ortung, präzise, unmenschlich, kalt, künstlich, Schrauben,
Schraubenzieher, Schraubenschlüssel, Diagramme
Die ausgewählte Stilvorlage. Weitere
finden Sie im Anhang Stil-Test.
Testergebnis
Von 13 eingeholten Meinungen plädierten zehn für diese Vorlage.
Assoziationen waren: Vernetzung, Zusammenhang, dynamisch,
komplex aber leicht nachvollziehbar, positives Gefühl, Drogenfilm,
minimalistisch.
Die Assoziationen stimmen weitgehend mit denen überein, die
zum Ausdruck kommen sollten. Die gezeigte Vorlage dient als Ausgangspunkt für die weitere Entwicklung.
50
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 3: Produktdesign
Elemente
Name
Die folgenden Kriterien spielten bei der Namensfindung eine Rolle:
— Kein technischer Bezug
— Kein Akronym
— Kurz/prägnant
— Mobiler Charakter
— Freier Domainname
Der Produktname wird „Pock-it“ sein. Es handelt sich dabei um
ein Wortspiel mit dem englischen Wort „pocket“ (Tasche). Es wird
genauso ausgesprochen.
Wording
Die technischen Begriffe Place und Post werden zu Gunsten einer
eigenen Begriffswelt gegen die folgenden Wörter ausgetauscht:
— Bubble (war im Konzept: Ort, Point of Interest, Place): Bubble
bedeutet übersetzt (Seifen-) Blase. Die trägt der Tatsache Rechnung, dass der Ort eigentlich eher eine Kugel als ein Punkt ist. In
einer Bubble ist Platz für Einträge, die so genannten Blips.
— Blip (war im Konzept: Eintrag, Post): Der Ausdruck Blip kommt
eigentlich aus der Radartechnik. Dort beschreibt er einen Punkt,
den zum Beispiel ein Flugzeug hinterlässt.
— Nachricht (war im Konzept: Meldung, Message)
Schrift
Als Schrift kommt die Droid Schriftenfamilie zum Einsatz. Sie
enthält vier Schnitte mit Serifen und drei ohne. Sie ist hochgradig
bildschirmoptimiert, weist aber auch gedruckt eine gute Lesbarkeit
auf.
Droid wurde als Teil der android-Plattform von der Ascender
Corporation erstellt. Sie steht unter der Apache Lizenz 2.0 und ist
somit für ein Open-Source-Projekt sehr gut geeignet.
Droid Serif
ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ
abcdefghijklmnopqrstuvwxyzäöü
ß?!01234567890@€
Droid Sans
ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ
abcdefghijklmnopqrstuvwxyzäöü
ß?!01234567890@€
Droid Sans Mono
ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ
abcdefghijklmnopqrstuvwxyzäöü
ß?!01234567890@€
51
Betreuer:
Diplomarbeit / SS 2008
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 3: Produktdesign
Elemente
Farben
Die Farben leiten sich direkt aus dem erstellten Stildokument ab. Es
kommen hochgradig gesättigte Farben zum Einsatz. Diese können
sich auf dem Farbkreis an beliebiger Stelle zwischen 44° und 193°
befinden. Die folgenden Farbfelder sind als Beispiele zu verstehen.
Zu den bunten Farben kommen schwarz, weiß und zwei Grautöne (10% und 80%) hinzu.
0°
44°
193°
Schwarz
RGB: 0 / 0 / 0
Fließtext,
Menüeinträge
Hellblau
RGB: 84 / 218 / 255
HSB: 193° / 67% / 100%
Logo-Blau
Farb-Auswahl anhand vom Farbkreis
80% Grau
RGB: 51 / 51 / 51
Fließtext,
Menüeinträge
Grün
RGB: 158 / 247 / 80
HSB: 92° / 68% / 97%
Logo-Grün
10% Grau
RGB: 229 / 229 / 229
Layout-Helfer
(Trennlinen etc.),
Schatten
weiß
RGB: 255 / 255 / 255
Hintergrund
Gelb-Orange
RGB: 255 / 221 / 0
HSB: 52° / 100% / 100%
Aktiver Menüpunkt
52
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 3: Produktdesign
Elemente
Logo
Das Logo erklärt in Kurzform die Anwendung. Es zeigt eine festgesteckte Information. Offen bleibt, ob es ein Notiz-Zettel oder ein
Foto ist. Als Schrift kommt Droid Serif zum Einsatz.
Es ist selbst in sehr kleinen Pixelmaßen noch gut zu lesen und zu
erkennen.
Selbst bei den winzigen Ausmaßen
von 70×40 Pixeln ist das Logo noch
erkennbar
Pock- it
Screendesign
Hier werden zwei Screens vorgestellt, die repräsentativ für die
gesamte Anwendung stehen.
Das Screendesign wurde für eine Auflösung von 240×320 Pixeln
bei 200dpi entwickelt. Diese Spezifikation trifft auf beide Testgeräte
(Nokia 6300 und SonyEricsson K800i) zu.
Animation und Veränderliches
Der Hintergrund besteht aus schwach sichtbaren Bubble-Symbolen.
Der überwiegende Teil ist grau. Für echte Bubbles in der Umgebung werden bunte Bubbles in entsprechender Farbe dargestellt.
Der Hintergrund verändert sich also abhängig von der Position
der Person. Wer dieses Detail kennt, kann es auch zur Navigation
nutzen.
Animiert ist auch der Auswahl-Cursor. Er fährt bei Tastendruck
„hinter“ den Menüpunkten nach oben oder unten.
53
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Screen-Wechsel zwischen zwei
Hierarchie-Ebenen
Kapitel 3: Produktdesign
Screendesign
Animation und Veränderliches
Für den Wechsel zwischen zwei unterschiedlichen Screens ist
ebenfalls eine Animation geplant. Wechselt man in einen nachfolgenden Screen, so fährt der aktuelle zur linken Seite heraus und der
neue kommt von der rechten Seite herein. Geht man in der Hierarchie zurück, verläuft die Animation anders herum.
Allgemeine Struktur
Die Anwendung besteht aus einer Kopfzeile, dem Inhalts-Teil und
schließt mit der Softkey-Beschriftung ab. Vom äußersten DisplayRand zu Texten werden 14 Pixel Abstand gehalten (Ausnahme:
Unterer Rand).
Standby-Screen
Formale Aufteilung des Bildschirms
Der Standby-Screen enthält ein großes Logo in der Kopfzeile. Der
Inhaltsbereich zeigt das Hauptmenü. Er enthält die Hauptfunktionen der Anwendung: Die sichtbaren Bubbles,
neue Bubble erstellen und Nachrichten lesen.
Die Zusatzfunktionen Verstecken, Einstellungen, Hilfe und der Menüpunkt Beenden
finden sich in der zweiten Hälfte wieder. Sie
sind etwas kleiner dargestellt.
Der Bildschirm schließt mit der Beschriftung der Softkeys ab. Im Standby-Screen wird
hier lediglich „Öffnen“ benötigt.
Jeder Menüpunkt hat ein eigenes Icon.
Standby (Originalgröße)
Für sichtbare Bubbles ist dies ein Kreis leichter Kontur. Er hat die vom Ersteller gewählte
Farbe. Für eine neue Bubble ist es ein grauer
Kreis mit gut sichtbarem Plus-Zeichen. Nachrichten verwenden die
Brief-Metapher für ihr Icon.
Verstecken ist ein sehr heller, grauer Kreis. Einstellungen deutet
Einstellungs-Einträge an und Beenden verwendet die „X“-Konvention. Hilfe (nicht sichtbar) erhält ein Fragezeichen.
Details
Standby (vergrößert)
Die Kopfzeile ist 92 Pixel hoch. In dieser sitzt das Logo (152×87
Pixel) optisch zentriert.
Haupt-Einträge sind mit einer Schriftgröße von 8pt gesetzt. Der
Zeilenabstand ist im vorliegenden Beispiel 24px. Zusatzeinträge
sind in 7pt gesetzt und haben einen Zeilenabstand von nur 24px.
Titel, die zu viele Zeichen enthalten, werden nach rechts hin
ausgeblendet. So ist klar, dass hier noch Buchstaben folgen würden.
Gleiches gilt, wenn das Menü zu lang für den Bildschirm ist.
Bubbles mit ungelesenen Blips werden fett dargestellt, die
Anzahl der ungelesenen Blips wird zusätzlich angegeben. Bei
54
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 3: Produktdesign
Screendesign
Struktur Standby
Nachrichten wird nur die Anzahl der ungelesenen Nachrichten fett
dargestellt.
Die Icon-Größe orientiert sich an der Zeilenhöhe, ist also maximal 24x24 Pixel.
Inhaltliche Screens
Der „Bubble anzeigen“-Screen
(vergrößert) zeigt einzelne Blips
untereinander an.
Die Kopfzeile der inhaltlichen Screens enthält ein wesentlich kleineres Logo. Außerdem wird der aktuelle Screen-Name zur Orientierung gezeigt.
Der Haupt-Teil zeigt ein langes Band von Blips. Es scrollt unter
dem Viewport hoch und runter. Der jeweils aktuelle wird gelb hinterlegt. Die Softkeys passen sich dem jeweils aktuellen Element an.
Elemente im Haupt-Teil können die folgenden sein: BubbleBeschreibung (einmalig als erstes Element), Text-Blips, Bild-Blips,
Video-Blips, Audio-Blips und Download-Blips. Bildbasierte Medien
werden serverseitig auf die korrekte Breite skaliert.
Blips mit Anhängen haben zwei Darstellungs-Arten. Die eigentliche Ansicht (wenn die Daten vorliegen) und die Vorschau (vor und
während des Downloads)
Details
Die Kopfzeile ist mit 44 Pixeln etwa halb so groß wie die des
Standby-Screens. Der Screen-Titel ist in einer Größe von 6pt gesetzt.
Texte im Hauptteil sind 8pt groß. Metainformationen (Autor,
Datum) sind 6pt groß. Vorschau-Bilder oder Icons sind bis zu 48x48
Pixel groß.
Die Breite der Textspalte beträgt 212 Pixel. Ebenso breit sind
Bilder und Videos.
Beachten Sie, wie der Inhalts-Teil
immer den ausgewählten Blip zentriert.
Außerdem passt sich die Belegung
der Soft-Keys an.
55
„This is tailor-made, what’s the sense in waiting?“
Dashboard Confessional – As Lovers Go
Kapitel 4
Technische
Umsetzung
Die technische Umsetzung beschreibt den Ist-Zustand der entwickelten Anwendung.
Zunächst wird definiert, welcher Teil der Anwendung im
Rahmen der Diplomarbeit umzusetzen ist, gefolgt von der Einrichtungsanleitung für die Entwicklungsumgebung.
Angewandte Design Patterns sowie das Entity-Relationship-Model
liefern die Grundlagen für Client- und Serverimplementation. Die
Kommunikation wird im Detail beschrieben.
Betreuer:
Diplomarbeit / SS 2008
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 4:
Technische Umsetzung
Eingrenzung der
Umsetzung
Im Rahmen dieser Diplomarbeit wird ein Prototyp umgesetzt. Der
Funktionsumfang wird anhand der Client-Sitemap dargestellt:
Eingrenzung der Umsetzung:
Die helle Fläche ist zur Umsetzung
geplant.
Ausgewählt ist der gesamte Kernbereich des Projekts. Es wird
möglich sein, Daten mit einem Server auszutauschen. Die allgemein
formulierte Positionierung wird sich im Rahmen der Diplomarbeit
auf die Verarbeitung von GPS beschränken.
57
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 4:
Technische Umsetzung
Entwicklungs­­
vorbereitung
http://www.eclipse.org
Sowohl Java als auch Ruby lässt sich hervorragend in Eclipse
entwickeln. Eclipse ist eine offene IDE, für die sehr viele Plugins existieren. Es ist auf allen gängigen Plattformen verfügbar. Ich werde
im Folgenden auf meine Konfiguration von Eclipse eingehen, da die
Auswahl und Einrichtung von Plugins einen enormen Zeitaufwand
bedeuteten.
Voraussetzungen – J2ME
http://java.sun.com/javase/downloads/index.jsp
http://java.sun.com/products/sjwtoolkit/
download.html
http://developer.sonyericsson.com/site/global/
docstools/java/p_java.jsp
http://www.forum.nokia.com/info/sw.nokia.
com/id/cc48f9a1-f5cf-447b-bdba-c4d41b3d05ce/
Series_40_Platform_SDKs.html
Um Java Micro Edition-Applikationen zu entwickeln, benötigt man
unabhängig von der Entwicklungsumgebung den Java Development
Kit (Nachfolgend JDK genannt) und das Wireless Toolkit (Nachfolgend WTK genannt). Das JDK enthält gleichzeitig die Java Runtime
Environment, die wir später für Eclipse ohnehin benötigen. Beide
Pakete werden nach dem Herunterladen einfach installiert.
Optional kann man die Emulatoren der verschiedenen HandyHersteller installieren. Im Gegensatz zu Suns WTK basieren diese
Emulatoren auf echten Geräten. Ich habe zusätzlich die Toolkits von
SonyEricsson und Nokia Series 40 installiert.
Voraussetzungen – Ruby on Rails
http://www.ruby-lang.org
http://rubyonrails.com
Randbemerkung:
Kurz vor Abgabe der Diplomarbeit
wurde Ruby auf Version 1.8.7 und
Rails auf Version 2.1 aktualisiert.
http://dev.mysql.com
http://dev.mysql.com/downloads/mysql/
5.0.html#downloads
Ruby on Rails besteht aus zwei Komponenten: Der Programmiersprache Ruby und dem Framework Rails. Nachdem man Ruby
(1.8.6) heruntergeladen und installiert hat, wird Rails (2.0.2)
einfach nachinstalliert. Ruby bringt seinen eigenen Paketmanager „gem“ mit. In einer Kommandozeile führt man den Befehl
gem install rails -–include-dependencies aus.
Im Normalfall kommt Rails seit Version 2 mit einem SQLiteAdapter. Um etwas performanter zu arbeiten, sollte man zusätzlich
eine MySQL-Datenbank sowie den MySQL-Adapter installieren.
Den MySQL-Datenbankserver kann man auf der MySQL-Download-Seite als fertiges Binary für verschiedene Betriebssysteme
beziehen. Es reicht für den Entwicklungsrechner, den Anweisungen
bei der Installation zu folgen, da eine weitere oder aufwändigere
Konfiguration nicht erforderlich ist.
Der MySQL-Adapter für Ruby wird ebenfalls per gem nachinstalliert. Führen Sie hierzu den Befehl gem install mysql in einer
Kommandozeile aus.
Eclipse installation
http://www.eclipse.org/downloads
Die aktuelle Version von Eclipse ist 3.3.2 (Titel: „Europa“), sie ist auf
der Eclipse Download-Seite zu beziehen und enthält rudimentäre
Plugins für Java-Entwicklung. Eclipse benötigt eine installierte JavaRuntime, die wir bereits mit dem JDK installiert haben.
58
Betreuer:
Diplomarbeit / SS 2008
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 4:
Technische Umsetzung
Entwicklungsvorbereitung
Eclipse-Installation
Eclipse-Plugins
Die einzelnen Plugins werden in der Regel über die Eclipse-eigene
Paketverwaltung installiert. Installationsanleitungen sind auf
der jeweiligen Plugin-Homepage deutlich gekennzeichnet und mit
einem Klick zugänglich. Nur bei abweichender Konfiguration wird
gesondert darauf eingegangen.
http://subclipse.tigris.org
http://subversion.tigris.org
http://eclipseme.org
http://antenna.sourceforge.net
http://proguard.sourceforge.net
http://aptana.org
Subclipse
Subclipse integriert Versionsverwaltung mit Subversion in Eclipse.
Synchronisation, Committen, Mergen und alle weiteren Funktionen
stehen somit direkt in der IDE zur Verfügung. Dieses Plugin ist für
die eigentliche Entwicklung nicht unbedingt nötig ist aber sehr
empfehlenswert.
Subclipse integriert sich in die „Team“-Funktionalitäten von
Eclipse und wird analog zu CVS verwandt.
EclipseME
MIDlets unterscheiden sich geringfügig von normalen Java-Applikationen. Diese Unterschiede sowie das Ansprechen von Emulatoren werden von EclipseME bereitgestellt. Zu EclipseME gehören
zwei weitere Downloads, die optionale Fähigkeiten bereit stellen.
Ersteres ist Antenna, welches das Tool Ant für mobile Anwendungen
erweitert, das Zweite ist ProGuard, ein Obfuscator.
Nach der Installation wird EclipseME über die Eclipse-Einstellungen konfiguriert. Hier gibt man den Pfad zu WTK, Antenna und
ProGuard an. Weiterhin werden die Emulatoren importiert.
Aptana Studio / RadRails
Um Ruby on Rails zu entwickeln, bietet sich das Eclipse-Plugin RadRails an. RadRails war früher ein eigenständiges Plugin und wurde
nun in das größere Aptana Studio integriert.
Aptana Studio steht als Eclipse Plugin zur Verfügung und wird
als Zip-Datei heruntergeladen und in den Eclipse-Ordner entpackt.
RadRails kann danach aus Aptana Studio installiert werden.
Eclipse Paketverwaltung: Hauptmenü „Help“ – „Software Updates“
– „Find and Install“
Obfuscator: Ein Mittel zur Verschleierung von Programmcode. Wird bei
J2ME standardmäßig zur Verkleinerung der Programme eingesetzt.
59
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 4:
Technische Umsetzung
Design-Patterns
Design-Patterns oder Entwurfsmuster sind Lösungsvorschläge für
wiederkehrende Problemstellungen bei der Software-Entwicklung.
Es gibt keine klare Grenze, ab der eine Lösung zum Design-Pattern
aufsteigt. Populäre Design-Patterns haben den Vorteil, dass sie
durch ihren Namen die Dokumentation stark erleichtern. Ein komplexes Konstrukt kann einem anderen Entwickler mit dem Verweis
auf das angewandte Entwurfsmuster erklärt werden.
Im folgenden Abschnitt werden die eingesetzten Muster
beschrieben.
Model-View-Controller
User
zeigt Zustand
Aktion
View
Controller
verändert
informiert
registriert
sich bei
Model
MVC kann als Zusammenspiel von anderen Patterns verstanden
werden. Dies sind: Beobachter und Kompositum. MVC selbst ist im
Buch „Design Patterns“ nicht erwähnt.
Wie der Name nahe legt, teilt sich die Implementation in drei
Teile auf: Das Model, den View und den Controller. Das Model
enthält den Zustand und die Daten des Programms. Der View stellt
Daten dar. Dies kann eine grafische Repräsentation oder eine
beliebige andere Ausgabe sein. Der Controller muss in der Lage
sein, Benutzerinteraktion entgegen zu nehmen und entsprechende
Manipulationen am Model anzustoßen.
Beobachter (Observer)
Der Beobachter ist ein Verhaltensmuster. Ein Beobachter ist ein
abhängiges Objekt, das von Veränderungen in Kenntnis gesetzt
wird. Es tritt innerhalb des MVC-Patterns auf. Ein View (der Observer) registriert sich einmalig bei einem Model. Ein Model (das
Observable) informiert die registrierten Views, sobald sich Änderungen ergeben.
Observer und Observable sind Interfaces in der Standard-Edition von Java. In Java Micro Edition und Ruby kommen sie nicht vor
und müssen selbst geschrieben werden.
vgl. Design Patterns: 1.1 What is a Design Pattern? S. 2ff
vgl. Design Patterns: 5 Behavioural Patterns S. 293ff
60
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 4:
Technische Umsetzung
Design-Patterns
Kompositum (Composite)
Ein Kompositum kann „Teil-Ganzes“-Hierarchien abbilden. Eingesetzt wird dies beispielsweise bei User-Interfaces. Sowohl einzelne
Komponenten (Text-Eingabefeld) als auch Kompositionen (DatumsEingabefeld aus drei Text-Eingabefeldern) werden gleich behandelt und können ihrerseits wiederum in größeren Kompositionen
verwendet werden.
Kommando (Command)
Der Command-Pattern gehört zu den Verhaltensmustern und
ermöglicht es, den auslösenden und ausführenden Teil einer
Anwendung zu entkoppeln. Gewöhnlicherweise kommt er bei UserInterfaces zum Einsatz. Ein Tastendruck erzeugt ein Kommando
und ein Teil der Programmlogik reagiert darauf.
Einzelstück (Singleton)
Als Einzelstück bezeichnet man Klassen, von denen man genau nur
eine Instanz erzeugen kann. Der Pattern gehört daher zu den Erzeugungsmustern.
Ein Beispiel aus der Java Micro Edition ist die Klasse Display.
Da es nur ein physikalisches Display gibt, wäre es nicht sinnvoll,
zwei oder mehr Instanzen von Display zu haben. Die Funktion
getInstance() ist der einzige Zugang zur Display-Instanz.
vgl. Design Patterns: 4 Structural Patterns, S. 163ff
vgl. Design Patterns: 5 Behavioural Patterns, S. 233ff
vgl. Design Patterns: 3 Creational Patterns, S. 127ff
61
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 4:
Technische Umsetzung
Entity-Relationship-Model
Das ERM leitet sich direkt aus den Definitionen ab. Ein User sendet
und empfängt Messages. Er nimmt weiterhin eine undefinierte
Anzahl Settings vor. Er erstellt Places und Posts, von denen er dann
der Besitzer ist. Ein Place enthält immer mindestens einen Post. Ein
Post kann eine Antwort auf einen bestimmten anderen Post sein.
Posts können Attachments enthalten. Sofern mehrere Ortungstechniken unterstützt werden, werden PositionHelper erzeugt.
1
sendet,
empfängt
User
*
Message
*
Setting
hat
1
1 1
erstellt
*
Place
1
enthält
1..*
*
erstellt
0..1
Post
enthält
erstellt automatisch
PositionHelper
1
0..1
Ist Antwort auf
1
Attachment
Das Entity-Relationship-Model
62
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 4:
Technische Umsetzung
Implementation (Client)
Packages und Klassen
de.amenthes.gi
Fast das gesamte Projekt befindet sich im Package
de.amenthes.gi. Die Domain amenthes.de ist mein HauptDomainname, und gi ist die Kurzfassung des Diplomtitels (Geospatial Informationaccess).
In de.amenthes.gi befindet sich ausschließlich die Klasse Gi,
welche von javax.microedition.midlet.MIDlet erbt.
de.amenthes.gi.communication
Das communication-Package enthält einen Teil der Klassen, die mit
Kommunikation zu tun haben. Die enthaltenen Klassen sind:
— Base64: Enthält eine abstrakte Methode zum Encodieren von
Daten in Base64.
— GiStreamConnection: Abstrakte Verbindungsklasse. Sie stellt
für alle abgeleiteten Klassen Service-Funktionen zur Verfügung.
Außerdem werden hier einmalig HTTP-Header gesetzt.
— PlaceFetcher: Erbt von GiStreamConnection und ist speziell
für die Belange von Places ausgelegt. PlaceFetcher holt Places
vom Server, parst sie mit Hilfe von PlaceHandler und stellt sie
dem Programm als Vektor zur Verfügung.
— PlaceHandler: Erbt von
org.xml.sax.helpers.DefaultHandler. XML-Parser für
Places, benötigt die JSR-172 (Webservice-API) auf dem Endgerät.
— PostFetcher: Erbt von GiStreamConnection und ist speziell
für die Belange von Posts ausgelegt. PostFetcher holt Posts
eines bestimmten Places vom Server, parst sie mit Hilfe von
PostHandler und stellt sie dem Programm als Vektor zur Verfügung.
— PostHandler: Erbt von
org.xml.sax.helpers.DefaultHandler. XML-Parser für
Posts, benötigt ebenfalls JSR-172.
de.amenthes.gi.controller
Das Controller-Package enthält die abstrakte Klasse Controller. In
ihr sind einmalig die verschiedenen Commands als static final
definiert. Somit stehen sie allen Controllern und Views zur Verfügung. Die weiteren Klassen sind:
— Filebrowser: Ermöglicht das Durchsuchen des Dateisystems
auf dem Endgerät. FileBrowser wird verwendet, um Dateien
an einen Post anzuhängen.
— PlaceEditor: Wird beim Anlegen oder Ändern eines Place
benutzt.
— PlaceShow: Wird zum Anzeigen eines Place verwendet.
— PostEditor: Wird beim Anlegen oder Ändern eines Posts
benutzt.
63
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 4:
Technische Umsetzung
Implementation (Client)
Packages
— Register: Wird beim ersten Start des Programms gezeigt. Es
war ursprünglich geplant, eine Benutzerregistrierung durchzuführen. Im Moment beherbergt sie die Bluetooth-Geräte-Suche.
— SettingEditor: Zeigt alle aktuellen Settings an und ermöglicht
deren Änderung.
— Standby: Der Standard-Screen, der Orte und das Hauptmenü
anzeigt.
Alle Controller sind so angelegt, dass sie in ihrem Konstruktor ein
Model in der Variablen model und einen View in der Variablen
view erzeugen. Im MIDlet muss also nur ein Controller instanziiert
werden. Die Variablen view und model sind als public deklariert.
So kann das MIDlet den jeweiligen View als aktuelles Displayable
setzen.
Controller implementieren das Interface CommandListener. Sie
nehmen, gemäß den beschriebenen MVC- und Command-Patterns,
die Benutzer-Interaktion entgegen.
de.amenthes.gi.model
Im Model ist der größte Code-Anteil enthalten. Hier werden Daten
verarbeitet und vorbereitet. Hier laufen Internetverbindungen und
Dateisystemoperationen ab. Alle Model-Klassen sind direkt oder
indirekt von der Klasse Model abgeleitet. Sie implementiert den
Observable-Teil des Observer-Patterns – also die Möglichkeit, Views
beim Model zu registrieren.
Die Klasse ThreadedModel ist eine abstrakte Klasse, die von
Model erbt. Sie implementiert zusätzlich java.lang.Runnable.
Alle aufwändigeren Operationen, insbesondere Datenverbindungen, werden in eigenen Threads abgearbeitet.
Die Klassen FileBrowser, PlaceEditor, PlaceShow,
PostEditor, Register, SettingEditor und Standby in diesem
Package sind die Models zu den bereits beschriebenen Controllern.
Weitere Klassen in diesem Package:
— Place: Simple Java-Klasse zum Speichern einzelner Places. Enthält außer Setter- und Getter-Methoden nur toXML(), was einen
String im XML-Format zurück gibt.
— Post: Analog zu Place werden hier Posts gespeichert.
— Setting: Eine umfassende Klasse, die das Lesen und
Schreiben von Einstellungen aus dem geräteeigenen
javax.microedition.rms.RecordStore abstrahiert.
de.amenthes.gi.view.lowfi
In diesem Package ist das prototypische User-Interface untergebracht. Ein Interface View enthält die abstrakte Funktion
update(). Sie ist notwendig, um den Observer-Teil vom ObserverPattern zu implementieren. Die update()-Funktion wird bei Veränderung vom Model aufgerufen.
Die Klassen FileBrowser, PlaceEditor, PlaceShow,
PostEditor, Register, SettingEditor und Standby
in diesem Package sind die Views zu den bereits
beschriebenen Controllern. Sie erben je nach Darstellung von javax.microedition.lcdui.Form oder
javax.microedition.lcdui.List, sind also LCDUI-Interfaces,
die nicht in ihrer Darstellung beeinflusst werden können.
64
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 4:
Technische Umsetzung
Implementation (Client)
Packages
Eine weitere Klasse in diesem Package ist Loading. Dies ist ein
Controller- und Model-loser View, der bei Datenübertragung an
den Server zwischengeschaltet wird. Sowohl PlaceEditor als auch
PostEditor verwenden ihn.
de.amenthes.queue
Dieses Package ist unabhängig vom Projekt, daher ist es nicht im
Package gi. Es kümmert sich ausschließlich um Binärdaten Up- und
Downloads – also Videos und Fotos zum Beispiel. Es enthält drei
Klassen:
— QueueItem: Eine Zeile in der Liste von Up- oder Downloads.
Speichert sämtliche Informationen über den Vorgang.
— QueueEmptyException: Exception, wenn keine weiteren Einträge mehr in der Liste sind.
— QueueManager: Die Hauptklasse. Sie implementiert einen
Singleton-Pattern: Der Konstruktor ist private, und die
static final-Variable INSTANCE enthält die einzige Instanz
eines QueueManagers.
Zusätzlich gibt es das Interface QueueListener, welches zwei
abstrakte Funktionen definiert. Klassen, die den QueueManager
verwenden, können den QueueListener implementieren, um Fortschrittsanzeigen zu erhalten.
Klassendiagramm (vereinfacht)
Da das Projekt über 40 Klassen und Interfaces enthält, ist hier
nur eine vereinfachte Fassung dargestellt. Eigenschaften und
Methoden sind ausgeblenden. Weiterhin sind nur die Klassen von
de.amenthes.gi enthalten.
javax.microedition.midlet.MIDlet
Gi
javax.microedition.lcdui.List
javax.microedition.lcdui.CommandListener
java.lang.Runnable
view
controller
model
Model
Controller
ThreadedModel
communication
Standby
Standby
Standby
PlaceHandler
PlaceEditor
PlaceEditor
PlaceEditor
PlaceFetcher
org.xml.sax.helpers.DefaultHandler
Place
PlaceShow
PlaceShow
PlaceShow
PostEditor
PostEditor
PostEditor
SettingEditor
SettingEditor
SettingEditor
Filebrowser
Filebrowser
Filebrowser
Register
Register
Register
Post
View
Base64
GiStreamConnection
PostFetcher
PostHandler
Setting
Loading
javax.microedition.lcdui.Form
Klassendiagramm. Eine größere
Version finden Sie im Anhang: Klassendiagramm
65
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 4:
Technische Umsetzung
Implementation (Client)
Bibliotheken
http://www.medien.ifi.lmu.de
Im Prototyp wird eine Bibliothek eingesetzt. Sie kümmert sich
um die Verbindung zu einem Bluetooth-GPS-Empfänger und liefert
Geokoordinaten zurück.
Die Bibliothek steht unter der LGPL-Lizenz. Erstellt wurde sie
von der Lehr- und Forschungseinheit Medieninformatik der Universität München.
Liste der möglichen Probleme
In der derzeitigen Fassung sind viele potentielle Problemquellen
noch unbehandelt. Diese offenen „Baustellen“ sollen noch bearbeitet werden. Damit sie nicht in Vergessenheit geraten, habe ich nach
und nach die folgende Liste zusammengetragen:
— Keine Internetverbindung
— Installation funktioniert nicht (Gerät inkompatibel)
— Telefon kann keine Dateizugriffe (JSR-75)
— Telefon kann keine Bluetooth-Verbindung (JSR-82)
— Programm kann keine JSR 172 (Webservice API)
— Programm kann keine JSR 179 (Location API)
— Datenübertragung schlägt fehl (Position-Orte)
— Datenübertragung schlägt fehl (Einträge)
— Datenübertragung schlägt fehl (Anhang nachladen)
— Datenübertragung schlägt fehl (Einstellung)
— Datenübertragung schlägt fehl (Meldungen empfangen)
— Datenübertragung schlägt fehl (Meldung senden)
— Der Ort wurde in der Zwischenzeit verlassen. (Beim Posten von
Einträgen)
— Bei einem Eintrag wurde weder Anhang noch Text angegeben.
— Authentifizierung schlägt fehl. (Beim Senden von Meldung, Ort
oder Eintrag an den Server.)
Die Fehler benötigen unterschiedliche Arten der Behandlung. In
vielen Fällen (Zum Beispiel falscher Benutzername und/oder Kennwort) reicht eine Information des Benutzers aus. In anderen Fällen
ist eine umfangreichere Lösung nötig – so zum Beispiel, wenn einzelne JSR-Funktionen nicht zur Verfügung stehen.
GPS-Bibliothek:
http://www.hcilab.org/documents/tutorials/BT_GPS/BT_GPS.htm
LGPL-Lizenz: http://www.gnu.org/licenses/lgpl.txt
66
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 4:
Technische Umsetzung
Server-ClientKommunikation
Positions-Update (= Orte abrufen)
RFC2616: HTTP/1.1
http://www.ietf.org/rfc/rfc2616.txt
Randbemerkung:
Theoretisch sind auch komplexe
Formen möglich. Im vorliegenden
Konzept sind jedoch nur Kreise
vorgesehen.
Url: <servername>/places
Der Client sendet bei Bedarf eine HTTP-GET-Anfrage an den
Server mit allen bekannten Positionierungsdaten im HTTP-Content. Bedarf besteht bei GPS dann, wenn die eigene Position um
ein gewisses Maß verändert wurde. Bei anderen Ortungstechniken
(WLAN, Bluetooth, GSM-Zellenortung), sobald neue Geräte in Reichweite sind.
Der Server antwortet mit einer Liste von Orten. Der Client wählt
aus der Liste diejenigen aus, die gerade in „Reichweite“ sind (Orte
können unterschiedliche Größen haben). Der Client kennt in der
Regel also mehr Orte, als er dem Benutzer anzeigt. Diese Untergruppe der gerade sichtbaren Orte wird ständig aktualisiert, wann
immer sich die Position verändert.
Das ermöglicht einerseits eine intelligente Vor-Auswahl auf der
Serverseite (Zum Beispiel mit Richtung und Geschwindigkeit arbeiten, um eine sinnvolle Auswahl zu treffen), andererseits können so
später andere Ortungstechniken nachgerüstet werden. Weiterhin
können so auch Orte übertragen werden, an deren eigentlicher
Position überhaupt keine Netzverbindung verfügbar ist.
Der Server kann die verschiedenen Ortungsmechanismen intern
weiter verarbeiten, um zum Beispiel eine Karte von WLAN-Accesspoints bereit zu stellen.
Ort ansehen (= Einträge abrufen)
Url: <servername>/places/<place-id>/posts
Interessiert sich der Benutzer für einen im Menü angezeigten Ort, so kann er ihn auswählen. Hierbei sendet das Gerät eine
Authentifizierung, die abspielbaren Content-Types und die ID des
Ortes.
Der Server antwortet mit einer Liste von Einträgen. Diese enthält neben dem Text und einigen Meta-Informationen auch URLs zu
den Anhängen oder konvertierten Versionen der Anhäge. Serverseitig kann gespeichert werden, dass der Ort auf dem aktuellen Stand
bekannt ist – so können später „ungelesene Einträge“ gesondert
hervorgehoben werden.
Anhang abrufen
Url: (Abhängig vom Speicherort auf dem Server)
Der Client ruft die bereitgestellte URL per HTTP-GET auf.
Der Server antwortet mit dem Inhalt oder dem HTTP-Header
„404 Not found“.
67
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 4:
Technische Umsetzung
Server-Client-Kommunikation
Eintrag anlegen
Eintrag anlegen
Url: <servername>/places/<place-id>/posts
Der Client sendet seine Authentifizierung und die Eintragsdaten
per HTTP-PUT oder -POST. Zu den Eintragsdaten gehört auch, zu
welchem Ort der Eintrag gehört und ob es zum Beispiel die Antwort
auf einen speziellen, anderen Eintrag ist.
Der Server antwortet mit dem HTTP-Header „201 Created“
und der angelegten Ressource im HTTP-Content, wenn alles in
Ordnung ist. Andere Statuscodes werden als Fehlschlag gewertet.
So könnte beispielsweise einfach zur Eingabe oder zum StandbyScreen zurückgekehrt werden oder eine Fehlermeldung eingeblendet werden.
Eintrag ändern
Url: <servername>/places/<place-id>/posts/<post-id>
Der Client sendet Authentifizierung, Eintrag-ID und neue Daten
per HTTP-POST an den Server.
Der Server antwortet bei Erfolg mit einem der HTTP-Header
200-202 oder 301 (OK, Created, Accepted, Moved Permanently).
Andere Header werden als Fehlschlag gewertet und wie bei „Eintrag anlegen“ verarbeitet.
Eintrag löschen
Url: <servername>/places/<place-id>/posts/<post-id>
Der Client sendet seine Authentifizierung und die Eintrag-ID per
HTTP-POST oder HTTP-DELETE an den Server.
Der Server antwortet bei Erfolg mit einem HTTP-Header
„302 Found“. Dieser sagt aus, dass die Ressource vorhanden ist
(war), leitet dann aber auf eine andere URL um (im Browser wäre
dies eine Auflistung aller Einträge). Misserfolg könnte über die
Statuscodes „401 Unauthorized“ oder „404 Not found“ gemeldet
und verarbeitet werden.
Orte manipulieren
Url: <servername>/places bzw.
<servername>/places/<place-id>
Orte anlegen, ändern und löschen funktioniert analog zu den
beschriebenen Vorgehensweisen bei „Eintrag“.
Meldungen senden und empfangen
Url: <servername>/messages bzw.
<servername>/messages/<message-id>
Das Empfangen und Senden von Meldungen funktioniert analog
zu „Einträge abrufen“ und „Eintrag erstellen“.
Einstellungen senden
Url: <servername>/settings bzw.
<servername>/settings/<setting-id>
Einstellungen senden funktioniert analog zu „Eintrag ändern“.
68
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 4:
Technische Umsetzung
Implementation (Server)
Models
Die Klassen Place, Post, Setting und User erben alle von
ActiveRecord::Base, einer Rails-eigenen Klasse. Somit stehen
ihnen von Haus aus alle Felder der zugehörigen Datenbanktabelle
zur Verfügung.
Konfiguriert werden müssen nur:
— Der Zusammenhang der Models, entsprechend den Assoziationen aus dem Entity-Relationship-Model.
— Die nötigen Validierungen. Place beispielsweise überprüft, ob
ein existierender User angegeben wurde. Post überprüft, ob
User und Place sinnvoll sind.
Views (XML)
Für den REST-Webservice kommt es auf die views im XML-Format
an. Hier sind besonders posts/index und places/index wichtig.
Der Places/index Scaffold kann ohne Veränderung eingesetzt
werden. Posts/index wurde um einige zusätzliche Informationen
angereichert. So wird zum Beispiel statt der User-ID der Username
des Besitzers übertragen.
Views (HTML)
Die HTML-Views sind für das Administrations-Interface. Hier
können alle Inhalte mit einem normalen Web-Browser administriert werden. Als Ausgangspunkt dienten auch hier die Scaffolds,
es wurden jedoch etwas umfangreichere Änderungen vorgenommen.
Places
Places/index, places/edit, places/new und places/show
erhielten eine zusätzliche Kartenansicht. Auf der OpenStreetmapKarte wird dargestellt, wo sich der Place genau befindet. Für edit
und new kann dieser Punkt per Mausklick gesetzt werden. Anzeige
von Benutzernamen und Verlinkung zugehöriger Posts sind kosmetischer Natur.
Posts
Posts erhielten eine Anzeige des Besitzers und des übergeordneten
Place.
Andere
Setting- und User-Views wurden nicht geändert und befinden sich
noch im ursprünglichen Scaffold-Zustand.
Controller
ApplicationController
Die Klasse ApplicationController erbt von
ActionController::Base. Hier können Funktionen und
Filter definiert werden, die für alle Controller gelten sollen. Der
69
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 4:
Technische Umsetzung
Implementation (Server)
ApplicationController selbst wird nicht instantiiert. Wäre die
Programmiersprache Java, wäre der ApplicationController als
abstract definiert.
Im vorliegenden Projekt legt er das Render-Layout und die
Authentifizierung via HTTP-Basic Authentication fest.
Alle folgenden „echten“ Controller erben von
ApplicationController.
UsersController, SettingsController
Diese Controller sind in ihrer ursprünglich generierten ScaffoldForm. Sie wurden bisher nicht verändert. Sie enthalten die Funktionen zum Anlegen, Auflisten, Anzeigen, Ändern und Löschen von
Users und Settings.
PlacesController
Der PlacesController erhielt zusätzliche Funktionen, um die
Kartenansicht vorzubereiten. Außerdem wurden die Funktionen
zum Ändern und Erstellen von Places so erweitert, dass der zugehörige User korrekt dargestellt wird.
PostsController
Der PostsController enthält ebenfalls Funktionen zum Zuordnen
des Benutzers.
Eingesetzte Plugins
http://www.kanthak.net/opensource/
file_column/
http://www.sourcepole.com/2008/3/23/
maplayers-plugin-for-rails
File Column
Die File Column ist ein Plugin, das Datei-Uploads und Bildmanipulation vereinfacht. Im Model muss nur ein Feld für den Dateinamen
existieren. File Column kümmert sich automatisch um die Ablage
und das Löschen von Dateien.
MapLayers
Um Karten wie Google-Maps oder OpenStreetmaps einzubinden,
bietet sich das MapLayers Plugin an. Es kapselt die JavaScriptBibliothek OpenLayers.
70
„Glaub keinem, der Dir sagt, dass Du nichts verändern kannst.
Die, die das behaupten, haben nur vor Veränderung Angst.“
Die Ärzte – Deine Schuld
Kapitel 5
Wirtschaftliche
Überlegungen
Um ein erfolgreiches Projekt starten zu können, muss immer auch
die wirtschaftliche Komponente Beachtung finden.
Zunächst wird erörtert, welche Kosten durch das Projekt entstehen. Im direkten Anschluss wird das Projekt in Hinblick auf
Einnahme- und Veröffentlichungsmöglichkeiten beleuchtet.
Eine Liste von erwarteten Akzeptanzrisiken schließt den Hauptteil der Diplomarbeit ab.
Betreuer:
Diplomarbeit / SS 2008
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 5:
Wirtschaftliche Überlegungen
Kosten
Randbemerkung:
Dieser Absatz wurde beim
Korrekturlesen wiederholt
bemängelt da er zu oft das Wort
„nicht“ enthält. Ich sage dazu:
Macht nichts.
Arbeitszeit
Geräte/Infrastruktur
Lizenzen
Servermiete (jährlich)
Arbeitsräume (jährlich)
Summe
Fiktive und reale Kosten
Im Rahmen dieser Diplomarbeit wird ein Projekt entstehen, das
es verdient, genutzt zu werden. Hinter jedem erfolgreichen Dienst
steht ein Businessmodell. Nicht hinter diesem. Die Intention ist
nicht, dabei reich zu werden, daher nehme ich nicht den Fall an
eine Firma zu gründen. Ich möchte von dem vorliegenden Projekt
nicht leben.
Dies hat erstaunliche Auswirkungen auf die wirtschaftlichen
Überlegungen: Das Projekt entsteht ohnehin im Rahmen meiner
Diplomarbeit. Auch wenn ich mich selbst als Kostenfaktor einrechne, muss ich mir kein Gehalt auszahlen.
Geräte zur Entwicklung sind vorhanden, Dienstleistungen und
Lizenzen ebenso.
Um dennoch einen Überblick über die Kosten zu haben, wird
in zwei Teilen gerechnet: Dem, was in einem Businessplan stehen
müsste und dem, was tatsächlich an Kosten für mich anfällt.
Die Arbeitszeit berechnet
Rechnerisch
Tatsächlich
sich aus einem fiktiven Stun28.800 €
0 €
densatz von 60 Euro und der
Annahme, dass ich 40 Stunden
4.000 €
850 €
pro Woche arbeite. Die Diplom­
3.500 €
1.254 €
arbeit erstreckt sich über 12
200 €
40 €
Wochen, was eine Summe von
1.680 €
0 €
28.800 Euro ergibt. In Wirk35.430 €
2.104 €
lichkeit entstehen diese Kosten
+ jährl. 1.880 €
+ jährl. 40 €
nicht.
Als Arbeitsgeräte gelten
Notebook sowie PC und Testserver. Da ich tatsächlich einen neuen
Computer erwarb, schafft ein Teil davon es sogar zu den tatsächlichen Kosten.
Der Posten Lizenzen setzt sich zusammen aus dem Einsatz von
zwei Windows-PCs sowie Adobes Creative Suite 3 Master Collection.
Die Suite schlägt mit rund 3.500 Euro zu Buche, wird aber nur auf
einem PC gebraucht. Da eine Studentenlizenz (1.164 Euro) in Frage
kommt, fallen nur eine Windows-Lizenz (90 Euro) und die Studentenlizenz für den neuen PC an.
Ein Server wird für zweierlei Dinge gebraucht: Einerseits soll
natürlich eine Website für das Projekt entstehen, andererseits wird
das Projekt selbst durch einen Server bedient. Für den Anfang (und
wahrscheinlich für eine ganze Weile) wäre ein virtueller Server
ausreichend, der etwa 200 Euro im Jahr kostet. Momentan wird das
Projekt bei Host2Day und Sourceforge gehostet.
Ein Arbeitszimmer reicht vorerst für diese Art von Projekt. Das
zusätzliche Zimmer (20m² zu 7€/m²) würde 1.680 Euro im Jahr
kosten. In der realität sind das natürlich keine zusätzlichen Kosten.
72
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 5:
Wirtschaftliche Überlegungen
Einnahmen
http://de.wikipedia.org/wiki/Milton_Friedman
http://www.wired.com
„There’s no such thing as free lunch.“
Milton Friedman, Ökonom
„[…] Friedman was wrong in two ways.
First, a free lunch doesn’t neccessarily mean
the food is being given away or that you’ll pay
for it later–it could just mean someone else is
picking up the tab.
Second, in the digital realm […] storage,
processing power and bandwidth are getting
cheaper by the day. […] It’s as if the restaurant
suddenly didn’t have to pay any food or labour
costs for that lunch.“
Chris Anderson, Wired, March 2008, Free! Why
0.00$ is the future of business, Seite 194
Für ein Produkt – also die angebotene Dienstleistung – dieser Art
wird die breite Masse kein Geld bezahlen. Zusätzlich erschwert ein
indirekter Netzwerkeffekt den Produktstart. Wenn sich nicht in
einer kurzen Zeit viele Benutzer finden, wird das Projekt aussterben. Es bleiben dennoch drei Optionen für kostenlose Dienste:
Finanzierung durch Werbung
Die geplante Plattform ist eine stark positionsabhängige und sehr
aktuelle Kommunikationsform. Das macht sie für gezieltes Marketing äußerst interessant. Auch für kleine Unternehmen käme diese
Werbeform in Frage, da man sie sehr gezielt regional einsetzen
könnte.
Finanzierung durch Premium-Accounts
Wie viele Webdienste könnte man auch hier erweiterte Funktionalitäten als Premium-Account anbieten. Würde man beispielsweise
einen Euro pro Monat verlangen, wären die laufenden Serverkosten
bei 20 Premium-Mitgliedern schon gedeckt.
Finanzierung durch externen Service
Wie bereits einleitend erwähnt, soll der Dienst mit verschiedenen
Ortungstechniken arbeiten können. Es ist anzunehmen, dass auf
einem Endgerät mehr als eine Technik zur Verfügung steht.
Ortungsdaten werden in regelmäßigen Abständen an den Server
übertragen. Anonymisiert spricht nichts dagegen, die Positionsdaten auszuwerten. Dabei entsteht eine Landkarte von WLAN- und
Bluetooth-Hotspots. Diese Positionsdaten können wiederum anderen Dienstbetreibern angeboten werden.
Indirekter Netzwerkeffekt: Ein System ist für den Benutzer von größerem Nutzen, je mehr andere Nutzer das System benutzen. Beispiel: Ein
Faxgerät ist nur nützlich, wenn genügend andere Personen ein Faxgerät
besitzen.
73
Betreuer:
Diplomarbeit / SS 2008
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 5:
Wirtschaftliche Überlegungen
Veröffentlichung
Die Diplomarbeit
http://creativecommons.org/licenses/
by-sa/2.0/de/
Diese Arbeit wird unter einer Creative-Commons-Lizenz veröffentlicht. Gewählt wurde die Creative Commons Namensnennung-Weitergabe unter gleichen Bedingungen 2.0 Deutschland Lizenz (siehe
Anhang)
Sie wurde ausgewählt, weil sie leicht verständlich ist und einen
gewissen Bekanntheitsgrad erreicht hat. Sie liegt in verschiedenen
Varianten vor. So kann genau gewählt werden, was mit einem Werk
erlaubt ist und was nicht.
Das Projekt Pock-it
http://www.gnu.org/licenses/licenses.html
http://sourceforge.net/projects/pock-it
http://pock-it.org
Im Anschluss an diese Diplomarbeit wird Pock-it als OpensourceProjekt weiter bestehen. Das Projekt wird unter der GPLv3 veröffentlicht. Die GPLv3 wurde aus zwei Gründen ausgewählt:
1. Sie enthält ein starkes Copyleft:
Wenn abgeleitete Projekte veröffentlicht werden, müssen
auch diese veränderten Projekte unter der GPL veröffentlicht
werden. Somit fließen Code-Verbesserungen auch wieder an das
ursprüngliche Projekt zurück.
2. Sie ist kompatibel zu vielen anderen Opensource-Lizenzen.
Der Einsatz von Bibliotheken und anderem Quellcode gestaltet
sich einfacher, wenn die Lizenzen miteinander kompatibel sind.
Von der GPL gibt es leider keine offizielle deutsche Übersetzung. Da
der Haftungsausschluss der englischen Fassung zu weit reicht, ist
er nach deutscher Rechtssprechung ungültig. Er muss durch einen
zusätzlichen Absatz geregelt werden.
Die Sourcecode- und Projektverwaltung wird über Sourceforge
abgewickelt werden. Dort kann jeder in den Quelltext Einsicht
nehmen. Kompilierte Pakete werden über die Projekt-Website und
Sourceforge verteilt.
Der Dienst Pock-it.org
Pock-it-Client und -Server werden als Dienst unter der Domain
http://pock-it.org starten. Unter dieser Adresse wird eine Informations-Seite mit Registrierungsmöglichkeit und Downloads existieren.
Weiterhin wird unter einer Subdomain der Webservice und die
Administrationsoberfläche angeboten.
Werbung für den Dienst ist vorerst nicht geplant.
Lizenz-Kompatibilität: http://www.gnu.org/licenses/license-list.html#GPL
CompatibleLicenses
74
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 5:
Wirtschaftliche Überlegungen
Risiken
Ein System wird dann genutzt, wenn der persönliche Nutzen gegenüber dem Aufwand überwiegt. Nutzen kann bei einem Spaß-zentrierten Projekt schlecht gemessen werden und ist subjektiv.
Risiken, die Teil der Aufwands-Seite sind, können jedoch im Vorfeld abgeschätzt werden. Bekannten Risiken kann je nach Art und
Grund mit Aufklärung, Akzeptanz oder Lösung begegnet werden.
Datenschutzrechtliche Bedenken
Das Sammeln von großen Mengen von personenbezogenen Daten
genießt kein besonders gutes Image. Insbesondere Bewegungsprofile werden kritisch betrachtet.
Maßnahme:
Risiko-Akzeptanz, Minimierung
Grund:Ein Teil des Risikos ist systemimmanent. Sie
können feststellen, dass Person X hier eine Nachricht hinterließ. Dazu müssen Sie nur den Benutzernamen der Person kennen. Minimiert werden
kann jedoch der Teil, der nicht im Zusammenhang
mit dem System nötig ist. Logfiles auf dem Server
können anonymisiert werden, Positionsdaten
werden nicht dauerhaft gespeichert.
Auftrittswahrscheinlichkeit: Mittel
Problematik: Hoch
Datentarife machen Nutzung
unattraktiv
Die Anwendung macht Gebrauch von der Internetverbindung. Je
nach Benutzereinstellung kann das Gerät selbstständig Dateien
herunterladen.
Am Ende steht das Problem, dass eine kostenlose Dienstleistung
dann doch irgendwie Geld kostet. Da die Flatrates im mobilen
Bereich noch recht dünn gesät sind, muss davon ausgegangen
werden, dass dem Benutzer durch den Dienst Kosten entstehen.
Maßnahme:Benutzer aufklären, Optionen (z.B. automatischen
Download von Anhängen deaktivieren)
Grund:Benutzer werden für die Anwendung (zumindest
am Anfang) nicht ihren Datentarif wechseln.
Kosten müssen transparent bleiben, um einen
Imageschaden zu vermeiden.
Auftrittswahrscheinlichkeit: Hoch
Problematik: Mittel
Erreichen der kritischen Masse
Für Anwender, die sich über das System austauschen wollen, muss
eine kritische Masse erreicht werden. Dies bezeichnet die Anzahl
von Personen oder Einträgen, ab dem das System zum Selbstläufer
wird.
Negativbeispiel: Wenn ich die Anwendung zwei Wochen im
Hintergrund laufen lasse und nie finde ich eine hinterlassene Nachricht, werde ich die Anwendung möglicherweise wieder löschen.
75
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 5:
Wirtschaftliche Überlegungen
Risiken
Für Personen, die es nur privat nutzen möchten, existiert eine
solche kritische Masse nicht.
Da die Anwendung ortsbezogen ist, kann es durchaus sein, dass
sie in unterschiedlichen Regionen unterschiedlich erfolgreich ist.
Maßnahme:Akzeptanz, Einstiegshürde minimieren, Werbung
(Erreichen einer kritischen Masse begünstigen)
Grund: Wir können niemanden zwingen etwas zu nutzen.
Daher ist es besonders wichtig, das erste Ausprobieren so einfach wie möglich zu gestalten.
Auftrittswahrscheinlichkeit: Hoch
Problematik: Mittel
Navigierbarkeit großer
Datenmengen auf kleinen Geräten
Das Gegenstück zum vorigen Problem ist: Sollte das Projekt zu
einem großen Erfolg werden, könnte es passieren, dass man an
besonders interessanten oder belebten Punkten viele hundert Einträge findet. Hier wird auf kleinen Displays die Informationsvielfalt
schnell zur Qual.
Maßnahme:Risiko Akzeptanz
Grund:Auch wenn die Fragestellung der Informationsflut
sehr interessant ist, ist es wenig sinnvoll, in diesem
Projektstadium viel Energie hinein zu stecken.
Eine Lösung könnte immer noch in einem Programmupdate oder einem Premium-Client bereitgestellt werden.
Auftrittswahrscheinlichkeit: Gering
Problematik: Mittel
Format-Kompatibilität
Nicht alle Geräte können jeden Datentyp wiedergeben. So muss
einer Frustration des Benutzers vorgebeugt werden, indem ihm nur
die Typen angeboten werden, die er auch nutzen kann, oder man
konvertiert die Daten bereits serverseitig.
Maßnahme:Risiko-Minimierung (Konvertierung in kompatible
Formate)
Grund:Dem Benutzer ist letzten Endes das Dateiformat
egal. Ein nicht funktionierendes Format ausliefern
würde auf das Programm zurückgeführt, nicht auf
das Gerät.
Auftrittswahrscheinlichkeit: Hoch
Problematik: Gering
76
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 5:
Wirtschaftliche Überlegungen
Risiken
Verkürzte Akkulaufzeit bei Nutzung
Sowohl GPS als auch eine bestehende Datenverbindung schlagen
sich im erhöhten Energieverbrauch des Endgeräts nieder.
Geräte mit eingebautem GPS-Empfänger sind hier stärker betroffen, da externe GPS-Empfänger ihre eigene Energieversorgung
mitbringen.
Maßnahme: Benutzer aufklären.
Grund:Auf den Energiehaushalt hat die Anwendung
keinen Zugriff.
Auftrittswahrscheinlichkeit: Hoch
Problematik: Gering
77
„So, five-card stud, nothing wild…
and the sky’s the limit.“
Star Trek the Next Generation 7-26:
All good things, Patrick Stewart
Kapitel 6
Die Zukunft
Auch wenn diese Diplomarbeit zu Ende ist, gibt es noch viel am Projekt zu tun. Dabei entfällt nur ein Teil der Arbeit auf Java-Client und
Server. Besonders die Bekanntmachung und das Anbieten anderer
Clients werden viel Arbeit verursachen.
Betreuer:
Diplomarbeit / SS 2008
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 6: Die Zukunft
Bekannte Probleme/
ToDo-Liste
Java-Client
XML
http://jcp.org/en/jsr/detail?id=172
XML-Parser für J2ME:
http://nanoxml.sourceforge.net
http://kxml.enhydra.org
http://www.webreference.com/xml/
tools/xparse-j.html
Während der Entwicklung wurde auf eine Java-Spezifikation JSR172 (Webservice-API) zurück gegriffen. Sie wird eingesetzt um die
XML-Daten zu parsen. Es stellte sich später heraus, dass nur sehr
aktuelle Geräte diese API unterstützen.
Sie soll gegen eine andere Bibliothek ausgetauscht werden.
NanoXML, kXML und Xparse-J sind mögliche Kandidaten. Xparse-J
hat hierbei den Vorteil, dass sie ebenfalls unter der GPL steht. Diese
Änderung würde die Anzahl potentiell kompatibler Geräte von 149
auf 232 steigern.
Dies ist eine Erkenntnis aus einem frühen Alpha-Test der Anwendung, den Sie im Anhang finden.
J4ME
http://code.google.com/p/j4me
http://jcp.org/en/jsr/detail?id=179
Wie beschrieben wird im Prototyp eine Bibliothek zur GPS-Verbindung eingesetzt. Sie funktioniert, ist aber wenig flexibel. Sie soll
gegen die GPS-Bibliothek von J4ME ausgetauscht werden.
J4ME stellt eine Schnittstelle zur Verfügung, die der JSR-179
(Location-API) ähnelt. J4ME steht unter der Apache Lizenz 2.0 und
ist damit kompatibel zur GPLv3.
Refactoring
Während der Entwicklung stand der Produktname noch nicht fest.
Als vorläufiger Name wurde daher der abgekürzte Diplomtitel „gi“
verwendet. Dieser ist jedoch wenig aussagekräftig. Ein umfassendes
Refactoring auf den Projekt-Titel „Pock-it“ soll stattfinden.
Benutzerfreundlichkeit
Derzeit besteht der Prototyp nur aus Text-Ausgaben. Das erstellte
Screendesign soll angewendet werden. Die Benutzerfreundlichkeit
ist unter anderem durch das Fehlen von aussagekräftigen Fehlermeldungen und Fehlerbehandlungen stark eingeschränkt. Sie
wurden im Abschnitt Liste der möglichen Probleme beschrieben.
��������������������������������������������������������������������
Liste von J2ME-XML-Bibliotheken: http://developers.sun.com/mobility/
midp/articles/parsingxml
Ermittelt mit der Areamobile Merkmalsuche: http://www.areamobile.de/
php/transactions/finderTargetTA.php Suche nach Geräten, die Java-fähig
nach MIDP 2.0 sind und JSR-82 (Bluetooth) unterstützen.
79
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 6: Die Zukunft
Bekannte Probleme/ToDo-Liste
Java-Client
Upload
Der Upload von Dateien gestaltet sich schwierig. Dies liegt an der
Implementation der HTTPConnection in Java. Datenmengen über
2016 Bytes werden als „Content-Encoding: Chunked“ gesendet
– eine HTTP 1.1 Spezifikation, die kaum ein Server beherrscht. Hier
ist sowohl server- als auch clientseitig nach einer Lösung zu suchen.
Signatur
Javas Sicherheitsmodell sieht eine Signatur für vertrauenswürdige
Programme vor. Diese können erweiterte Rechte erhalten.
Da ein signiertes MIDlet wünschenswert ist, werde ich mich mit
der Signatur befassen, speziell damit, wie man sie erhält und ob sie
immer kostenpflichtig ist.
Server
Microsite
Der Server ist derzeit eine funktionale Sammlung von Werkzeugen,
die den Client bedienen. Es fehlt ein ausgestaltetes User-Front­end,
an dem man sich registrieren und informieren kann.
Administrations-Oberfläche
Die Administrationsoberfläche besteht aus Rails-Scaffolds. Hier ist
insbesondere bei Navigationskonzept und Gestaltung noch Arbeit
zu investieren.
Upload
Das Upload-Problem (siehe Client) wird sicherlich auch am Server
zu Änderungen führen.
Deployment
Der Pock-it-Server läuft auf einer lokalen Linux-Installation. Er
muss auf den bereits gemieteten Webserver unter der Domain
pock-it.org umgezogen werden.
80
Betreuer:
Diplomarbeit / SS 2008
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 6: Die Zukunft
Ausblick
OpenSource
Im Anschluss an diese Arbeit wird der Quellcode zu Client und
Server unter die GPLv3 gestellt und veröffentlicht. Von diesem
Schritt verspreche ich mir ein Weiterleben des Projekts. Ein Bonus
dabei ist, dass ich Erfahrungen bei der Organisation eines Opensource-Projektes sammle.
Communiy aufbauen
Wie bereits in Wirtschaftliche Überlegungen - Einnahmen dargelegt,
unterliegt Pock-it einem Netzwerkeffekt. Es ist also eine der wichtigsten Aufgaben, eine Community zu erarbeiten.
Als Benutzer der ersten Stunde bieten sich insbesondere die
Kommilitonen am Campus Dieburg an. Sie haben eine zentrale
Basis, an der die kritische Masse schnell erreicht werden kann,
leben aber zum Teil etwas außerhalb. An diesen Außenstellen
werden sie möglicherweise andere Leute auf das Projekt aufmerksam machen.
Neue Clients
Wie bereits in der Recherche erläutert, ist es sinnvoll, mehrere
Plattformen zu bedienen. Auf meiner eigenen ToDo-Liste steht hier
Android ganz oben: Zum einen, weil ich mich mit dieser Plattform
beschäftigen möchte, zum anderen, weil auch hier in Java programmiert wird.
Dennoch sind die Windows-Mobile- und iPhone-Plattform nicht
vergessen. Hier gibt es für mich zwei Möglichkeiten:
1. Die OpenSource-Community startet Unterprojekte.
2. Ein Programmier-zentriertes Elective am Fachbereich Media
stellt einen der Clients her.
Gelerntes weitergeben
http://www.mas.h-da.de/j2me
Einrichtung des Computers und Entwicklung des ersten MIDlets
sind nicht einfach. Ich habe daher zur kommenden AutumnSchool ein Tutorial eingereicht. Ich werde eine Veranstaltung
halten, die den Einstieg erleichtern soll. Das eintägige Tutorial wird
Ende September stattfinden.
Dieses Tutorial wird insbesondere für die Studierenden interessant sein, die derzeit im sechsten Semester sind. Ihr P3/P4-Thema
ist iMobility, und es zeichnet sich ab, dass einige mobile Anwendungen dabei entstehen sollen. Das Tutorial wäre unmittelbar vor der
Umsetzungsphase.
Die Autumn-School ist eine Einrichtung des FB Media, bei der Studenten
eine Veranstaltung für andere Studenten halten. Die Themen und der
Umfang sind freigestellt.
81
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Kapitel 6: Die Zukunft
Ausblick
Ausstellungen, Veröffentlichungen
http://www.mindtrek.org
http://www.mcrlab.uottawa.ca/acmmm2008
Der Fachbereich Media veranstaltet jedes Jahr eine Werkschau, die
„Mediale“. Bei dieser können Studenten ihre Arbeiten präsentieren.
Es ist geplant, bei der kommenden Mediale mit Pock-it präsent zu
sein.
Neben den Bemühungen am eigenen Campus werden derzeit
zwei Papers vorbereitet. Eines für die Mindtrek Conference in Tampere (Finnland) und eines für die ACM International Conference on
Multimedia in Vancouver (Kanada).
82
Quellen
Betreuer:
Diplomarbeit / SS 2008
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Quellen
Publikationen online
Diese Aufstellung enthält über 200 verschiedene Links. Um sie richtig zu kategorisieren wurden einige
wenige in zwei Kategorien aufgenommen.
Einige dieser Quellen habe ich auf der beigelegten CD im aktuellen Zustand gespeichert. Sie finden
Sie im Ordner Quellen. Die URL ohne http:// und www. ist der jeweilige Dateiname.
Die wichtigsten Links
Dies sind keine Quellen für mich, sondern Quellen für Sie. Unter den folgenden URLs wird diese Arbeit
und das daraus resultierende Projekt weiter gepflegt werden.
Diese Diplomarbeit:
http://������������������������������
diplomarbeit������������������
.claudiuscoenen.de
Alle Weblinks finden Sie sortiert, klickbar und mit Tags versehen unter folgender URL:
http://del.icio.us/ccoenen/dipl_archiv
Pock-it Sourceforge-Projekt:
http://sourceforge.net/projects/pock-it
Pock-it Website:
http://pock-it.org/
Eigene Blogeinträge
http://amenthes.de/index.php/2008/05/styles/
http://amenthes.de/index.php/2008/05/mein-diplomthema/
http://amenthes.de/index.php/2008/05/midlet-states/
Nachrichten, Berichte
Auflistung von Handy-Applikationen:
http://www.heise.de/mobil/Kostenlose-Handy-Applikationen-fuer-Wordpress-Flickr-und-Co--/artikel/103904
Nutzung von mobilen Diensten:
http://www.tecchannel.de/kommunikation/news/1748012/index.html
Mobilfunkbetreiber müssen innovativer werden:
http://www.tecchannel.de/news/1746113/index.html
Mobile Dienste: Anwender dringend gesucht:
http://www.tecchannel.de/kommunikation/news/1746271/index.html
Kostenloses Handy-GPS-Paket für Wanderer und Radfahrer:
http://www.heise.de/newsticker/Kostenloses-Handy-GPS-Paket-fuer-Wanderer-und-Radfahrer--/
meldung/105702
Wichtigkeit der Handy-Software:
http://www.wired.com/gadgets/miscellaneous/news/2008/03/ctia_walkup
Delphi-Report: Zukünftige Informations- und Kommunikationstechniken:
http://www.fazit-forschung.de/delphi3.html
http://www.isi.fhg.de/pr/2008de/pri04/pri04.htm
Galileo kommt wieder in Schwung:
http://www.heise.de/newsticker/Galileo-Projekt-kommt-endlich-wieder-in-Schwung--/meldung/106215
President turns off GPS Selective Availability:
http://geography.about.com/library/weekly/aa050400a.htm
Wired:
http://www.wired.com
Ad-Hoc Mitfahrzentrale:
http://www.heise.de/newsticker/Ad-hoc-Mitfahrzentrale-fuer-Mobiltelefone--/meldung/106705
SL45i mit Java:
http://www.teltarif.de/arch/2001/kw25/s5440.html
84
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Quellen
Publikationen online
Nachrichten, Berichte
Nutzung von Social Networks auf mobilen Endgeräten:
http://www.tecchannel.de/kommunikation/news/1749723/index.html
Ruby on Rails 2.1 und Ruby 1.8.7 erscheinen
http://www.heise.de/newsticker/Ruby-on-Rails-2-1-und-Ruby-1-8-7-erschienen--/meldung/108900
Statistiken
Windows-Mobile Marktanteil:
http://www.pcwelt.de/start/mobility_handy_pda/pda_smartphone/news/160677/microsoft_will_smartphone_
markt_ausbauen/index.html
iPhone Verkaufszahlen:
http://satundkabel.magnus.de/geraete/artikel/agentur-viele-illegale-iphones-bei-telekom-konkurrenten.html
Ruby Buchverkäufe:
http://radar.oreilly.com/archives/2005/12/ruby-book-sales-surpass-python.html
Mehr als 100 Mio Mobilfunkanschlüsse:
http://www.tecchannel.de/pc_mobile/news/1756318/index.html
70.000 verkaufte iPhones:
http://www.macnews.de/news/105992
Plattformen
Java / J2ME
Suns J2ME-Website:
http://java.sun.com/javame/index.jsp
Sun verabschiedet sich von mobilem Java:
http://news.cnet.com/8301-13580_3-9800679-39.html?part=rss&subj=news&tag=2547-1_3-0-5
J2ME-Plugin:
http://eclipseme.org
Spezifikationen, APIs
http://jcp.org/en/jsr/detail?id=172
http://jcp.org/en/jsr/detail?id=179
http://java.sun.com/javame/reference/apis.jsp
Bibliotheken
XML-Parser:
http://nanoxml.cyberelf.be
http://kxml.objectweb.org
http://www.webreference.com/xml/tools/xparse-j.html
Blutooth-Library vom HCI-Lab:
http://www.hcilab.org/documents/tutorials/BT_GPS/BT_GPS.htm
J4ME:
http://code.google.com/p/j4me
Foren
http://www.j2meforums.com/forum
http://www.j2meforum.net
http://forum.java.sun.com/category.jspa?categoryID=23
Tutorials
WebServices:
http://developers.sun.com/mobility/apis/articles/wsa
MVC:
http://www-128.ibm.com/developerworks/wireless/library/wi-arch6
85
Betreuer:
Diplomarbeit / SS 2008
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Quellen
Publikationen online
Plattformen
Einrichtung Eclipse, Bluetooth-Tutorial und kXML:
http://medien.informatik.uni-ulm.de/lehre/courses/ss04/mobcomp/uebungen/index.xml
XML-Parsing mit JSR-172:
http://developer.sonyericsson.com/docs/DOC-1716
Bluetooth-Geräte entdecken:
http://www.javablog.ch/2006/11/11/jabwt-jsr-82-teil-5-discovery-agent-und-discoverylistener
Bluetooth-API Overview:
http://developers.sun.com/mobility/apis/articles/bluetoothintro
Bluetooth-Service UUIDs:
http://www.avetana-gmbh.de/avetana-gmbh/produkte/doc/javax/bluetooth/UUID.html
MIDlet + Lifecycle:
http://www.ibm.com/developerworks/library/wi-midlet2
JSR-075+Filesystem-Access:
http://www.java-tips.org/java-me-tips/midp/how-to-access-local-file-systems-from-j2me-devices-usingfileconnectio-2.html
Singleton Pattern in J2ME:
http://java.sun.com/developer/JDCTechTips/2006/tt0113.html
Threads:
http://developers.sun.com/mobility/midp/articles/threading2
J2ME-Installation:
http://eclipseme.org/docs/installation.html
JavaDoc und J2ME:
http://forum.java.sun.com/thread.jspa?threadID=401422&messageID=1750968
XML und J2ME mit Links zu Bibliotheken:
http://developers.sun.com/mobility/midp/articles/parsingxml
Hersteller
SonyEricsson:
http://developer.sonyericsson.com/site/global/docstools/java/p_java.jsp
Nokia SDK:
http://www.forum.nokia.com/info/sw.nokia.com/id/cc48f9a1-f5cf-447b-bdba-c4d41b3d05ce/Series_40_
Platform_SDKs.html
Tools
Sammlung von OSS für J2ME:
http://ngphone.com/j2me/opensource
Test-Programm um zu erfahren, welche Spezifikation unterstützt wird:
http://sourceforge.net/projects/mobiledevtools
Ruby / Ruby on Rails
Ruby Website:
http://www.ruby-lang.org/de
Ruby on Rails-Website:
http://rubyonrails.com
Ruby-Core-Dokumentation:
http://www.ruby-doc.org/core
REST-Dateiupload:
http://www.ruby-forum.com/topic/151988
Ruby, REST und nested routes:
http://www.b-simple.de/documents
86
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Quellen
Publikationen online
Plattformen
Rails-Anwendungen
Basecamp:
http://www.basecamphq.com
Twitter:
http://twitter.com
Xing:
https://www.xing.com
Skalierbarkeit
http://highscalability.com
http://www.buildingwebapps.com/articles/13
http://highscalability.com/friends-sale-architecture-300-million-page-view-month-facebook-ror-app
http://blog.kovyrin.net/2006/08/28/ruby-performance-results/lang/en
Android
Android-Website:
http://code.google.com/android
Android und Streetview:
http://www.engadget.com/2008/02/28/android-gets-handled-now-with-street-view
HTC Dream angekündigt:
http://www.heise.de/newsticker/Ein-Traum-wird-wahr-HTCs-erstes-Android-Handy-soll-Dream-heissen-/meldung/105402
Android Sicherheitslücken:
http://www.heise.de/newsticker/Google-schliesst-Sicherheitsluecken-in-Android--/meldung/104684
Samsung + Android:
http://www.engadget.com/2008/02/19/samsung-built-google-branded-android-phones-due-later-this-year
Android will outsell iPhone:
http://www.engadget.com/2008/03/14/google-android-will-outsell-iphone-we-still-love-you-steve
AT&T flirtet mit Android:
http://www.heise.de/newsticker/AT-T-flirtet-mit-Android--/meldung/106005
Android Blog:
http://www.talkandroid.com
Android auf Nokia N810:
http://www.engadget.com/2008/04/08/android-lands-on-the-n810-blows-our-minds
Android Developer Challenge:
http://code.google.com/android/adc.html
Andere Plattformen
Client
http://www.limofoundation.org
http://developer.apple.com/iphone
http://www.adobe.com/products/flashlite
http://www.microsoft.com/windowsmobile/developers/default.mspx
http://www.s60.com/business/developers
IBM VM für Windows Mobile:
http://www-128.ibm.com/developerworks/websphere/zones/wireless/weme_eval_runtimes.html?S_CMP=rnav
Server
http://php.net
http://www.asp.net
http://java.sun.com/javaee
87
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Quellen
Publikationen online
Kommunikation
Kommunikation
http://json.org
http://www.yaml.org
REST-Theorie:
http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
J2ME und REST:
http://www.schmidp.com/2007/5/20/j2me-and-restful-web-service
AMF:
http://osflash.org/documentation/amf oder http://download.macromedia.com/pub/labs/amf/amf3_spec_
121207.pdf
SOAP:
http://www.w3.org/TR/soap12-part1
HTTP/1.1:
http://www.ietf.org/rfc/rfc2616.txt
Verwandte Projekte
Geominder, Erinnerungen an bestimmten Plätzen:
http://www.ludimate.com/products/geominder/index.php
Invisible Ideas:
http://www.adobe.com/devnet/devices/articles/invisible_ideas.html
http://www.invisibleideas.org
Parcour pro – mobile GPS-Game:
http://www.mkirstein.de/blog/?p=360
Enkin:
http://www.enkin.net
MARA:
http://www.engadgetmobile.com/2006/11/11/nokia-project-puts-red-boxes-on-things
Digitales Graffiti:
http://w5.cs.uni-sb.de/~stahl/proseminar-lbs/pdf/DigitalGraffiti.pdf
YellowArrow:
http://yellowarrow.net/index2.php
Verkehr, Tourismus
Mobile Stadtführung:
http://www.uni-goettingen.de/de/63850.html
http://www.tecchannel.de/pc_mobile/news/1751396/index.html
Navigationssystem von „Das Örtliche“:
http://www.oe-navi.de
Siemens Digitales Graffiti:
http://www.innovations-report.de/html/berichte/verkehr_logistik/bericht-71203.html
Ad-Hoc Mitfahrzentrale:
http://www.oks.tu-berlin.de/forschung/technologien/mfz
Community
https://loopt.com/loopt/sess/index.aspx
http://socialight.com
http://zurfer.research.yahoo.com
http://zonetag.research.yahoo.com
Uploader für Web-Communities:
http://www.shozu.com/portal
Elens:
http://mobile.mit.edu/classes/elens
http://mobile.mit.edu/component/option,com_deeppockets/task,catShow/id,31/Itemid,81
88
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Quellen
Publikationen online
Verwandte Projekte
GeoNotes:
http://www.sics.se/~espinoza/documents/GeoNotes_ubicomp_final.htm
Mash-Ups
http://www.qype.com
http://www.frappr.com
Landkarten
http://www.earthtools.org
http://www.openstreetmap.org
http://worldwind.arc.nasa.gov
http://www.de.map24.com
http://de.routenplaner.yahoo.com
http://maps.live.de/LiveSearch.LocalLive
http://earth.google.com
http://maps.google.de
http://www.mgmaps.com
Google Maps Mobile:
http://www.google.com/gmm/index.html
Gute Einleitung in das Thema:
http://www.alistapart.com/articles/takecontrolofyourmaps
Mobile Tagging
http://scanbuy.com/index.php
http://www.shotcode.com
http://www.semapedia.org
http://placeshout.com
Barcode-Reader
http://www.neoreader.com/home.html
http://code.google.com/p/zxing
http://reader.kaywa.com
http://www.i-nigma.com/personal
Erklärungen, Definitionen
http://de.wikipedia.org/wiki/Triangulation_(Messtechnik)
http://de.wikipedia.org/wiki/Accelerometer
http://de.wikipedia.org/wiki/Traffic_Message_Channel
http://de.wikipedia.org/wiki/Mashup_%28Internet%29
http://de.wikipedia.org/wiki/Mobile_Tagging
http://de.wikipedia.org/wiki/Serialisierung
Design-Patterns
http://de.wikipedia.org/wiki/Kommando_(Entwurfsmuster)
http://de.wikipedia.org/wiki/Strategie_(Entwurfsmuster)
http://de.wikipedia.org/wiki/Stellvertreter_(Entwurfsmuster)
http://de.wikipedia.org/wiki/Singleton_(Entwurfsmuster)
Eingesetzte Tools
Subversion:
http://subversion.tigris.org
OpenOffice.org (speziell: Writer, Calc und Draw):
http://www.openoffice.org
89
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Quellen
Publikationen online
Eingesetzte Tools
OpenProj (Projektmanagement-Tool):
http://openproj.org
Eclipse+Plugins:
http://www.eclipse.org
http://eclipseme.org
http://subclipse.tigris.org
AptanaIDE, RadRails
http://72.3.219.182
FileColumn (Rails Plugin):
http://www.kanthak.net/opensource/file_column
MapLayers (Rails Plugin):
http://www.sourcepole.com/2008/3/23/maplayers-plugin-for-rails
OpenLayers:
http://www.openlayers.org
OpenStreetmap:
http://www.openstreetmap.org
Java JDK:
http://java.sun.com/javase/downloads/index.jsp
Java WTK:
http://java.sun.com/products/sjwtoolkit/download.html
Antenna:
http://antenna.sourceforge.net
ProGuard:
http://proguard.sourceforge.net
Sourceforge.Net:
http://sourceforge.net
Ruby on Rails:
http://rubyonrails.com/
Ruby:
http://www.ruby-lang.org/de/
MySQL:
http://dev.mysql.com/downloads/mysql/5.0.html#downloads
http://dev.mysql.com
Debian Linux:
http://www.debian.org
StarUML:
http://staruml.sourceforge.net/en/
Adobe Photoshop:
http://www.adobe.com/de/products/photoshop/photoshop
Adobe Illustrator:
http://www.adobe.com/de/products/illustrator
Adobe InDesign:
http://www.adobe.com/de/products/indesign
IrfanView (Bildbetrachter):
http://irfanview.de
Verschiedenes
Magical Lens:
http://www2.parc.com/istl/projects/MagicLenses/93Siggraph.html
SkyHook Wireless (Anbieter von WLAN-Ortung):
http://www.skyhookwireless.com
Community-Entwicklung:
http://www.alistapart.com/articles/fromlittlethings
90
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Quellen
Publikationen online
Verschiedenes
MSD-BPS-Map:
http://www.frappr.com/msd-bps2006-2007
PHP-Framework Symfony:
http://www.symfony-project.org
PHP-Framework CakePHP:
http://www.cakephp.org
Medieninformatik Uni München:
http://www.medien.ifi.lmu.de
MIT mobile experience lab:
http://mobile.mit.edu
Milton Friedman
http://de.wikipedia.org/wiki/Milton_Friedman
Design
10 Fehler beim Icon-Design:
http://www.turbomilk.com/truestories/cookbook/criticism/10-mistakes-in-icon-design
7 Prinzipien im Icon-Design:
http://psdtuts.com/articles/7-principles-of-effective-icon-design
Droid-Font:
http://damieng.com/blog/2007/11/14/droid-font-family-courtesy-of-google-ascender
Lizenzen
GPL:
http://www.fsf.org/licensing/licenses/gpl.html
GPL-kompatible Lizenzen:
http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses
LGPL:
http://www.fsf.org/licensing/licenses/lgpl.html
Creative Commons:
http://creativecommons.org/
http://creativecommons.org/licenses/by-sa/2.0/de/
http://creativecommons.org/licenses/by-sa/2.0/de/legalcode
Geräte
Auflistung von GPS-Fähigen Geräten:
http://www.xonio.com/artikel/Alle-75-GPS-Handys-Navigation-mit-N96-X1-amp-Co._30102841.html
Areamobile Merkmalsuche (kann nach einzelnen JSRs suchen)
http://www.areamobile.de/php/transactions/finderTargetTA.php
Veranstaltungen
FOSSGIS:
http://www.fossgis.de/wiki/index.php/Main_Page
http://www.heise.de/newsticker/Konferenz-zu-freien-Geosystemen--/meldung/105153
Systems:
http://www.pcwelt.de/start/mobility_handy_pda/pda_smartphone/news/96609/neue_anwendungen_fuer_
mobile_geraete/index.html
ACM International Conference on Multimedia:
http://www.mcrlab.uottawa.ca/acmmm2008
Mindtrek 2008 Conference:
http://www.mindtrek.org
Java-Tutorial in der Autumn-School:
http://www.mas.h-da.de/j2me
91
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Quellen
Publikationen offline
Zeitschriften
Wired Magazine March 2008
ISSN: 1059-1028
Bücher
Agile Web Development with Rails (Second Editon 2006)
Dave Thomas, David Heinemeier Hansson
ISBN-10: 0-9776166-3-0
ISBN-13: 978-0-9776166-3-3
Professional Ruby on Rails (2008)
Noel Rappin
ISBN-13: 978-0-470-22388-8
Advanced Rails (2007)
Brad Edinger
ISBN-10: 0-596-51032-2
ISBN-13: 978-0-596-51032-9
Java Micro Edition (2. aktualisierte Auflage 2007)
Klaus-Dieter Schmatz
ISBN-10: 3-89864-418-9
Rails Cookbook (2007)
Rob Orsini
ISBN-10: 0-596-52731-4
ISBN-13: 978-0-596-52731-0
Design Patterns (1995)
Erich Gamma, Richard Helm, Ralph Johnsson, John Vlissides
ISBN-10: 0-201-63361-2
92
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Quellen
Nicht-referenzierbare
Quellen
Internet Relay Chat
Server: irc.freenode.net
Räume: #rubyonrails, #j2me, und #openlayers
Nick: ccoenen
93
Anhang
Betreuer:
Diplomarbeit / SS 2008
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Anhang
GPS-fähige Geräte
Tabelle1
Gerät
Asus P526
Asus P535
Asus P750
Asus P527
Asus P320
Asus M536
Asus P560 /
Asus Lamborghini ZX1
E-Ten glofiish G500
E-Ten glofiish M700
E-Ten glofiish M800
E-Ten glofiish X500 /
E-Ten glofiish X500+
E-Ten glofiish M810
E-Ten glofiish X650
E-Ten glofiish V900
Fuj.Sie. Pocket Loox T810 /
Fuj.Sie. Pocket Loox T830
Garmin nüvifone
HP iPAQ hw6515
HP iPAQ hw6915
HP iPAQ 614 Bus. Navigator
HP IPAQ 914
HTC P3470 (Pharos)
HTC TyTn II
HTC P3300
HTC Touch Cruise
HTC Advantage X7500 /
HTC Advantage X7510
Mitac Mio A502
Nokia N95 8GB
Nokia N96
Nokia N82
Nokia 6210 Navigator
Nokia 6220 classic
Nokia N78
Nokia Communicator E90
Nokia 6110 Navigator
RIM Blackberry 8800
RIM Blackberry Curve 8310
RIM BlackBerry Pearl 8110
Samsung SGH-i550
Samsung SGH-i780
Samsung SGH-G810
Sony Ericsson W760i
Sony Ericsson C702
Sony Ericsson X1
Toshiba Portégé G710
Toshiba Portégé G910
Toshiba Portégé G810
System
WM6
WM5
WM6
WM6
WM6
HSDPA
Eingabe
T9, TS
TS
T9, TS
T9, TS
TS
TS
HSDPA, WLAN
GPRS
EDGE, WLAN
HSDPA
TS
TS
QWERT
QWERT
EDGE, WLAN
HSDPA
TS
QWERT
WM6
HSDPA
TS
WM5
UMTS, WLAN
HSDPA
?
EDGE, WLAN
HSDPA
TS, QWERT
240x240
TS, QWERT
TS, QWERT
T9,?
QWERT
TS
TS, QWERT
TS
TS
240x240
240x240
TS, QWERT
TS
T9
T9
T9
T9
T9
T9
QWERT, T9
T9
QWERT
QWERT
QWERT
T9
TS, QWERT
640x480
240x320
240x320
240x320
240x320
240x320
240x320
240x320
800x352
240x320
320x240
320x240
240x260
240x320
320x320
T9
T9
TS, QWERT
TS, QWERT
TS, QWERT
TS
240x320
240x320
800x400
480x640
480x800
240x320
WM5
WM6
WM6
WM5
WM6
WM6
WM5
WM5
WM6
WM6
WM6
WM6
WM5
WM6
Daten
GPRS
GPRS
HSDPA
GPRS, WLAN
EDGE
HSDPA, WLAN
EDGE, WLAN
HSDPA, WLAN
WM6
WM6
S60 3rd
S60 3rd FP2
S60 3rd
S60 3rd
S60 3rd
S60 3rd FP2
S60 3rd
S60 3rd
eigen
eigen
eigen
S60 3rd
WM6
S60 3rd
eigen
eigen
WM6
WM6
WM6
WM6
HSDPA, WLAN
EDGE, WLAN
HSDPA, WLAN
HSDPA, WLAN
HSDPA, WLAN
HSDPA
HSDPA
HSDPA, WLAN
HSDPA, WLAN
HSDPA
EDGE
EDGE
EDGE
HSDPA
HSDPA
?, WLAN
HSDPA
HSDPA
HSUPA, WLAN
EDGE
HSDPA, WLAN
HSUPA, WLAN
Display
240x320
240x320
240x320
640x480
Verfügbar?
ja
ja
ja
nein
01.06.08
01.07.08
ja
ja
ja
Preis
500,00 €
700,00 €
650,00 €
500,00 €
400,00 €
500,00 €
01.07.08 700,00 €
498,00 €
498,00 €
600,00 €
ja
320x240
240x320
240x320
240x320
240x320
01.04.08
01.04.08
ja
Q3/2008
ja
ja
ja
Q2/2008
ja
ja
ja
ja
Ja /
04/2008
ja
ja
ja
Q3/2008
Q3/2008
Q2/2008
ja
ja
ja
ja
ja
ja
ja
Q3/2008
Q2/2008
Q2/2008
Q2/2008
Q1/2008
Q1/2008
Q2/2008
629 € /
736 €
560,00 €
649,00 €
449,00 €
499,00 €
439,00 €
799,00 €
650,00 €
599,00 €
599,00 €
879,00 €
469,00 €
499,00 €
469,00 €
499,00 €
249,00 €
600,00 €
600,00 €
Legende:
WM5: Windows Mobile 5
WM6: Windows Mobile 6
S60: Symbian Series 60
QWERT: Volle Tastatur
T9: Normale Telefon-Tastatur
TS: Touchscreen
95
Seite 1
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Anhang
Concept-Test
Dies ist ein Test, den wir mit der Idee in unserer P3-Projektgruppe
durchführten. In vier Durchgängen �������������������������������
testeten wir mit insgesamt ����
ca.
15 Personen.
Getestet wurde die Grundidee, Information an bestimmten
Plätzen abrufbar zu machen. Die Vorgehensweise ging von einer
Barcode-basierten Ortung aus.
Vorgehensweise
— Hinweis, dass man nichts „falsch machen kann“. „Hier gibt es
kein richtig oder falsch“.
— Frage ob es ok ist, dass wir sie filmen.
— Mittels eines Szenarios die Produktidee vorstellen
— Diese Produktidee sollen sie dann selbst anwenden
— im Anschluss wird eine offene Diskussion darüber geführt, wie
sie das Szenario bewerten und welche Möglichkeiten sie sich
zusätzlich im Zusammenhang mit unserer Produktidee vorstellen könnten bzw. was sie auch persönlich interessant fänden
Erläuterte Szenarien
— Ortsgebundenes Fotoalbum z.B. an einem Festival
— Informationen zu einer Sehenswürdigkeit und der Möglichkeit,
dort Daten selbst abzulegen
— Restaurantbewertungen
Diskussionsleitfaden
Erster Concept-Test
— Wie bewerten Sie die Grundidee „Informationen, egal welcher
Art, ortsbezogen im Raum ablegen und abrufen zu können“?
— Wie hat der Zielgruppe das Szenario gefallen? Wie würden sie
dieses bewerten?
— Was würden sie anders/besser machen?
— Welche Anwendungsbereiche könnten sie sich noch vorstellen?
Die Frage: „Geht mal euren Alltag im Kopf durch. Wann und wo
hättet ihr gerne Informationen
die ihr gerne abrufen bzw. ablegen könntet?“
— Falls schon Ergebnisse aus
einer anderen Befragung da
sind, diese hier einbringen und
diskutieren.
96
Betreuer:
Diplomarbeit / SS 2008
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Anhang
Alpha-Test der
Anwendung
http://amenthes.de/index.php/2008/05/
mein-diplomthema/
Der Blogeintrag
Hier ist wie angekündigt mein Diplomprojekt als Beta-Test. Rückmeldungen gerne über die Kommentarfunktion oder per Mail.
Geospatial Informationaccess - Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Ja, das ist das Thema. In normalen Worten ausgedrückt bedeutet
es: Stellt euch vor, ihr könntet Nachrichten an beliebigen Orten hinterlassen. So ähnlich wie Erinnerungszettel. Ihr könnt an beliebiger
Stelle sagen „hier hinterlasse ich einen Text oder ein Foto“.
Andere Benutzer des Systems können solche Nachrichten dann
an diesem Ort lesen/ansehen. Wer möchte, kann auch auf vorhandene Nachrichten antworten.
Voraussetzungen
1. Java-fähiges Handy (MIDP 2.0, CLDC 1.1 - müsste auf die meisten
aktuelleren Modelle zutreffen).
2. Konfigurierter Internetzugang
3. Bluetooth- oder Com-Port-GPS-Empfänger
4. Account zum Testen (Zum Erstellen von Einträgen, Kommentar
oder Mail genügt)
5. Alpha-Software (Download über PC) oder
(Direktlink im Handy: http://gi.amenthes.de/gi_client.jad)
Anleitung (Einrichten)
Um die Anwendung auf eurem Handy zu installieren, könnt ihr sie
entweder per PC runterladen und auf dem Gerät installieren oder
direkt mit dem Handy runterladen. Nokia und SonyEricsson haben
bei ihren Anwendungsprogrammen ein Tool zur Installation dabei.
Es reicht aber, wenn ihr die .jar-Datei einfach irgendwo auf dem
Gerät ablegt (zum Beispiel auf der Memorycard, sofern vorhanden)
und die Datei startet.
Beim Starten wird direkt nach Empfängern gesucht, schaltet ihn
also vorher ein. Die Suche läuft im Moment nur einmal ab. Wenn
ihr das verpasst habt, löscht das Programm nochmal und spielt es
neu auf (wenn ihr die Adresse eures Empfängers wisst, könnt ihr sie
auch von Hand eingeben).
Wählt aus dem Menü "Einstellungen" und tragt für Benutzername und Passwort eure Daten ein.
Wenn ihr einen Com-Bluetooth-Empfänger habt, tragt die
Adresse bitte in das Feld "Bluetooth-Gerät (URL)" ein. Dabei gebt ihr
an: comm://com12 (Zahl abhängig von eurem Gerät). Eine ausführliche Beschreibung der möglichen Parameter findet man in der
Java-Api zum Thema Com-Port.
Das Programm wird nach verschiedenen Berechtigungen
fragen. Es muss eine Bluetooth-Verbindung aufbauen und Daten per
97
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Anhang
Alpha-Test
Blogeintrag
Internet verschicken. Diese Bestätigung ist einmal pro Programmstart nötig. Wenn ihr wisst wie, könnt ihr auch generelle Rechte
vergeben.
Anleitung (Benutzen)
Sobald das Programm startet ermittelt es eure Position und lädt sich
Orte in eurer Umgebung herunter (sozusagen die blauen Punkte auf
der Karte oben). Wenn ihr in der Nähe von so einem Ort seid, wird
er euch im Menü angezeigt. Auswählen eines Ortes zeigt euch die
Zugehörigen Einträge an.
Ihr habt immer auch die Wahl einen neuen Ort anzulegen. Ein
Ort hat einen Titel (der nachher im Menü erscheint) und man kann
gleich eine Nachricht hinterlassen.
Außerdem gibt es im Menü noch die Punkte "Einstellungen",
"Minimieren" und "Beenden". Minimieren funktioniert bei weitem
nicth auf allen Geräten. Das ist (leider) kein Bug, den ich beheben
kann sondern eine Einschränkung des Geräts.
Was funktioniert?
—
—
—
—
—
GPS-Gerät suchen und ansprechen
Orte und Nachrichten anzeigen
Orte und Nachrichten erstellen
Einstellungen ändern
Herunterladen von Bildern
Was funktioniert (noch) nicht?
—
—
—
—
—
Dateien vom Handy aus hochladen
Einträge/Orte nachträglich ändern
Fotos, Videos oder Audio direkt aufnehmen
Vibration oder Alarm, wenn man einen Ort betritt
Das Programm ist momentan ziemlich hässlich, daran arbeite
ich
Wozu ist dieser Test?
1. Ich möchte wissen, ob das Programm auf eurem Mobiltelefon
funktioniert. Über eine kurze Rückmeldung (positiv wie negativ)
mit Modellnummer würde ich mich freuen.
2. Ich habe ungefähr 10 Beispiele, wofür man es (mehr oder weniger) sinnvoll benutzen könnte. Was würdet IHR damit machen?
Kompatible Geräte
— Nokia 6300
— SonyEricsson K800i
Ausblick (Roadmap)
Die Roadmap wird noch etwas überarbeitet und ergänzt. Das hab’
ich jetzt mal aus dem Kopf zusammengeschrieben.
Erster Test (Version 0.7)
(oben beschriebener Umfang)
98
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Anhang
Alpha-Test
Blogeintrag
Version 0.8
— Dateien hochladen (mindestens 500 KByte)
— Verschiedene Dateitypen runterladen ins Dateisystem
— Alle vorgesehenen Felder von Orten werden übertragen, eingegeben und angezeigt
— Benachrichtigungen beim Betreten eines Spots (inkl. zugehöriger Einstellungen)
Version 0.9
— Fotos, Videos und Audio aufzeichnen innerhalb des Programms
— Videos und Audio abspielen innerhalb des Programms
— Alle vorgesehenen Felder von Eintrag werden übertragen, eingegeben und angezeigt
— Grafische Benutzeroberfläche
Version 1.0
— Nachrichten-Schnittstelle
— Nachrichten lesen und ins Hauptmenü integrieren
— Online-Hilfe
— "Gelesen"-Status für Orte
— Eintrage und Orte bearbeiten
— JSR-172-Aufrufe gegen XML-Bibliothek tauschen, um mehr Endgeräte zu erreichen
Erkenntnisse
Wie erwartet funktioniert die Java-Fassung in keiner WindowsMobile VM. Die Zahl der getesteten Windows-Mobile-Geräte stieg
auf vier.
Weiterhin zeigte die Alpha-Version, dass zu viele Geräte die JSR172 (Location-API) nicht unterstützen. Deswegen wurde die Entscheidung gefasst, sie zu ersetzen.
99
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Anhang
Stil-Test
http://amenthes.de/index.php/2008/05/styles
Vorlagen
Dies sind die weiteren, getesteten Stilvorlagen.
100
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Anhang
Stil-Test
Antworten
pixelkind
favoriten: 2, 4
Luke
In a Spot - no 4 - findsch definitv am besten.
Für alle anderen dürfte die Informationsdichte zu heftig werden.
TH
ok, also mein favorit sind die ersten beiden
grund: mit deinem system verbinde ich ein gefühl von lebendigkeit
und vernetzung. das kommt dabei am besten rüber. man könnte
meinen es seien viele “komplizierte” informationen; die sind aber
optisch so -schön- dargestellt, dass es einfach nur gut aussieht.
also das erste für sich würde ich auch nicht nehmen
das ausgewogene zwischen den beiden ist gut, aber nur das zweite
wäre auch gut
Das dritte wird für mich wie eine dialer-seite, bei der man sich
sein horoskop herunterladen kann.
Das vierte und fünfte ist denke ich zu technisch, dafür dass du
eine so breite zielgruppe hast
Sarathai
1+2: zu 68er’ig
3: zu Microsoftvorlägig
4: zu enterprise-4.staffelig
eva
also mein favorit ist die…
zwei.
Find ich zum Thema Vernetzung und als Kartographenkind am
ansprechensten. es is dynamisch, verbindent und ist komplex, aber
doch leicht nachvollziehbar…und natürlich “schön”
aro
Nummero 2
Nummer 1 wäre mir zu dunkel - bekommt gleich so einen undergound-touch. Das Weiss macht das ganze luftiger und sieht ausserdem gleich so informationsdesign-mäßig aus. Dynamik und
Vielfalt kommt eigentlich nur bei den ersten beiden so wirklich zum
Ausdruck - die anderen Vorschläge ahmen eher technische Gerätschaften nach und abstrahieren dabei nicht so gekonnt.
Daniel R.
1 oder 2
pixelkind
ok, kompromissvorschlag:
nummer 2 (zählte ja zu meinen favs) mit dem wort ZONK eingebaut! :)
was sagst du?
101
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Anhang
Stil-Test
Antworten
Mic
1 oder 2.
Den Rest hab ich schon soo oft gesehen.
Mel
Finde Varianten 1 und 2 auch am besten. Ist einfach und ich verbinde damit nichts.
3. erinnert mich an Piraten oder Mittelalter (wegen den alten
Papierstückchen)
4. erinnert mich an Matrix, bzw. die Kontraste sind auch nicht so
gut wie ich finde
5. erinnert mich an so einfache WindowsProgramme, bzw. kleine
Delphiprogrammierungen :)
Wenn ich mich zwischen 1 und 2 entscheiden müsste, würde ich
wohl 2 bevorzugen. Da es ein positiveres Gefühl vermittelt.
Silvia
Eindeutig 2.
Bei dem ersten bekomme ich das Gefühl unter Drogen zu stehen,
was mit dem Wort Lärm ja noch bestätigt wird ;o)
Bei den anderen stimme ich mit Mel überein! Batman *hihih*
phil
1. Drogenfilm
2. abeschwächte Version von 1.
3. Piratenfilm
4. Nerdy Hacker Flash Intro
5. sehr technische Abbildung
finde 1 & 2 am ansprechensten, die anderen sind mir persönlich zu
weit verbreitet / abgelaufen / ausgelutscht.
stienchen
außer dass es um vernetzung geht, weiß ich zwar nicht worum es
geht, aber…. rein vom ersten eindruck her… gefällt mir die zwei am
besten!
sie ist minimalistisch, hat schöne unaufdringliche farben, stellt
etwas komplexes oder feines dar, ist dynamisch aber ruhiger als die
anderen (denke mal durch das weiß) :) jaaa soweit zu meine ersten
eindruck. hoffe das bringt dir was
lg
Sebastian
Auf jeden Fall 1 oder 2. Das passt zu Deinem Ansatz; mehr oder
weniger vernetze Teilchen, die miteinander kommunizieren. Dazu
noch klare und und saubere Typo. Beim Ersten würde ich die
Anzahl der Partikel reduzieren.
102
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Anhang
Maistern-Test
Der Maistern ist eine Veranstaltung am Campus Dieburg. In dieser
Umgebung ließ ich einige Tester mit der Anwendung spielen. Alle
waren mit der Grundidee bereits vertraut, hatten die tatsächliche
Anwendung allerdings noch nicht gesehen.
Der Test verlief vielversprechend. Alle Tester konnten ohne
Rückfragen Bubbles und Blips erstellen. Erwähnt werden muss
jedoch, das die Testgruppe nicht repräsentativ ist. Sie bestand nur
aus Studenten des FB Media.
Garrit beim erstellen eines Blips.
Die Testgruppe
103
Ressourcen
T02
T04
A
A01
A02
A03
39
40
41
42
43
44
Drucken, Binden, etc.
Claudius Coenen
Korrigieren
Claudius Coenen
Zusammenstellen
Claudius Coenen
Schriftliche Arbeit
Claudius CoenenBegleitende Kompat...
Claudius CoenenLo-Fi Prototyp
Claudius CoenenKonzept-Test
Test
Kolloquium
Claudius Coenen;Arnd
St...
T01
38
Claudius CoenenKommunikation
Claudius CoenenProgrammierung
47
TE
37
Ultimative Abgabe
Claudius Coenen
EA06
36
Abgabe (geplant)
Claudius Coenen
EA05
35
Ressourcen
46
EA04
34
16.06.08 17:00
25.03.08 17:00
08.04.08 17:00
19.05.08 14:00
24.03.08 17:00
28.03.08 17:00
25.03.08 17:00
0,5 tage 24.04.08 09:00
1 tag? 24.04.08 09:00
17,5 tage? 24.04.08 09:00
1 tag? 22.04.08 09:00
1 tag? 21.04.08 09:00
1 tag? 18.04.08 09:00
3 tage? 15.04.08 09:00
6 tage? 15.04.08 09:00
1 tag? 10.04.08 12:00
0,5 tage 10.04.08 08:00
0,5 tage 10.04.08 08:00
0,5 tage 10.04.08 08:00
1,5 tage? 10.04.08 08:00
3 tage 07.04.08 08:00
3 tage 31.03.08 08:00
24.04.08 14:00
25.04.08 09:00
19.05.08 14:00
23.04.08 09:00
22.04.08 09:00
21.04.08 09:00
18.04.08 09:00
23.04.08 09:00
11.04.08 13:00
10.04.08 13:00
10.04.08 13:00
10.04.08 13:00
11.04.08 13:00
09.04.08 17:00
17
16
13
25
28
27
26
20
23
C laudius
Coe ne n
Claudius C oe ne n
Claudius C oe ne n
Claudius C oe ne n
Claudius C oe ne n
Claudius C oe ne n
Claudius C oe ne n
C laudius Coe ne n
Claudius C oe ne n
C laudius Coe ne n
C laudius14EA+1
Coe ne n tag;16;18
04.04.08
17:00 C oe ne n
Claudius
3 tage 26.03.08 08:00C laudius Coe ne
28.03.08
17:00
n
2 tage 24.03.08
08:00 C oe ne n
Claudius
09.04.08 17:00
1 tag? 28.03.08 08:00C laudius Coe ne
28.03.08
17:00
n
13 tage 24.03.08 08:00
12EA+1 tag
08.04.08 17:00 Claudius C oe
9 ne n
07.04.08 17:00C laudius Coe ne n
2 tage 26.03.08 08:00
Claudius C oe ne n27.03.08 17:00
1 tag? 24.03.08
08:00
C laudius
Coe ne n
5 tage? 24.03.08 08:00
1 tag? 08.04.08 08:00
8 tage 25.03.08 08:00
11 tage? 25.03.08 08:00
40,625 tage? 24.03.08 08:00
1 tag? 28.03.08 08:00C laudius Coe ne
28.03.08
17:00
n
0 tage 25.03.08
17:00 C oe ne n
Claudius
57 tage 25.03.08 08:00
25.03.08 08:00
16.06.08 17:00
Claudius C oe ne n
0,333 tage 16.06.08 14:20
0 tage 16.06.08 08:00
0,375 tage 10.06.08 14:00
1 tag? 09.06.08 14:00
1 tag? 06.06.08 14:00
1 tag? 05.06.08 14:00
3 tage? 05.06.08 14:00
14 tage? 29.04.08 14:00
1 tag 31.03.08 08:00
25.03.08 17:00
19.05.08 14:00
19.05.08 14:00
29.04.08 14:00
16.06.08 17:00
16.06.08 08:00
10.06.08 17:00
10.06.08 14:00
09.06.08 14:00
06.06.08 14:00
10.06.08 14:00
19.05.08 14:00
31.03.08
Claudius
C oe ne17:00
n
1 tag 25.03.08
08:00 C oe ne n
Claudius
39,625 tage? 25.03.08 08:00
14 tage? 29.04.08 14:00
1 tag? 28.04.08 14:00
45
7;41
43
42
36AA
14
12
35
34
C laudius Coe ne n
Claudius C oe ne n
Claudius C oe ne n
10.06.08
Claudius C oe ne n;Arnd Ste inme tz ;Mike Richte r
16.06.08
Claudius C oe ne n
C laudius Coe ne n
Claudius C oe ne n
1 tag? 24.04.08 14:00
25.04.08 14:00
32
C laudius Coe ne n
14
12 Mai 08
19 Mai 08
26 Mai 08
2 Jun 08
9 Jun 08
16 Jun 08
23 Jun 08
30 Jun 08
7 Jul 08
5 Mai 08
17 Mrz 08
24 Mrz 08
31 Mrz 08
7 Apr 08
14 Apr 08
21 Apr 08
28 Apr 08
Name
Dauer - Seite1
Start
Ende
Vorgänger
Diplom
Diplom - Seite3
Diplom - Seite2
F S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M D M D FF S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M
1 tag? 25.04.08 14:00
28.04.08 14:00
33
Claudius C oe ne n
Claudius CoenenKlassendiagramm
PID
Claudius CoenenER-Diagramm
Claudius CoenenUML Use Cases
Claudius CoenenAuswahl des Umset...
Entwicklung
Claudius CoenenJ2ME Internetverbin...
Claudius CoenenJ2ME GPS-Verbindu...
Claudius CoenenJ2ME Tests Sleep-S...
Claudius CoenenEinarbeitung J2ME
Entwicklungsvorbere...
Claudius CoenenReferenzen, Hilfefor...
Claudius CoenenDatenaustausch
Claudius CoenenEntwicklungsumgeb...
Claudius CoenenEntwicklungsumgeb...
Technische Recherche
Claudius CoenenScreendesign
Claudius CoenenLogo
Claudius CoenenProduktname
Claudius CoenenProduktcharakter, Stil
Produkt-Design
Claudius CoenenWireframes
Claudius CoenenStoryboard/Sitemap
Claudius CoenenAnwendungsbeispie...
Struktuelles Design
Claudius CoenenWirtschaftliche Überl...
Claudius CoenenBestandsaufnahme
Wirtschaft
System
Einrichtung Software, ...
Claudius Coenen
Meetings
Claudius Coenen
60 tage? 25.03.08 08:00
Projektplan
45
EA03
33
EV04
29
EA02
EV03
28
32
EV02
27
EA
EV01
26
EA01
EV
25
31
TR04
24
30
TR03
PD04
19
23
PD03
18
TR
PD02
17
TR02
PD01
16
TR01
PD
15
22
SD04
14
21
SD03
13
20
SD
SD02
12
WI02
11
10
S
7
WI
O03
6
WI01
O02
5
9
O01
4
8
Organisatorisches
3
Projektmanagement
Claudius Coenen
Echter Start
O
2
0 tage 25.03.08
08:00
25.03.08
14
12 Mai 08
19 Mai 08
26 Mai 08
2 Jun 08
9 Jun 08
16 Jun 08
23 Jun 08
30 Jun 08
7 Jul 08
5 Mai 08
17 Mrz 08
24 Mrz 08
31 Mrz 08
7 Apr 08
14 Apr 08
21 Apr 08
28 Apr 08
Name
Dauer
Start
Ende
Vorgänger
F S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M D M D FF S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M
17.03.08 08:00
17.03.08 0 tage 17.03.08 08:00
Diplomstart
Claudius Coenen
1
PID
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Anhang
104
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Anhang
Client-Sitemap
01
Sonderfall:
erster Start
Registrierung
18
Text
Hilfe
(Hilfe, About)
09
Einstellung
ändern
11
Meldung
lesen
12
Meldung
schreiben
17
Ort
löschen
Minimiert
07
02
Ort
anlegen
08
Ortung
möglich
05
06
Anhang
auswählen
Anhang
aufnehmen
Einstellungen
10
Meldungen
auflisten
03
Eintrag
anlegen
Ort/Eintrag
Ansicht
Eigener Ort
löschen
04
Ort in
der nähe
abbrechen
Standby
13
16
Ort
bearbeiten
Eigener Eintrag
löschen
15
Eintrag
löschen
14
Eintrag
bearbeiten
02
Standby
Legende
Programmstart
Möglicher Weg
Möglicher Weg
m. Bedingung
Screen
Abkürzung/
Sonderfall
Wichtiger
Screen
105
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Anhang
Echtes Storyboard
Das Original: 1,20m × 1,00m groß
106
javax.microedition.lcdui.Form
View
javax.microedition.lcdui.List
view
Loading
Register
Filebrowser
SettingEditor
PostEditor
PlaceShow
PlaceEditor
Standby
Controller
controller
javax.microedition.lcdui.CommandListener
Register
Filebrowser
SettingEditor
PostEditor
PlaceShow
PlaceEditor
Standby
Model
Gi
ThreadedModel
model
java.lang.Runnable
javax.microedition.midlet.MIDlet
Register
Filebrowser
Setting
SettingEditor
PostEditor
PlaceShow
PlaceEditor
Standby
Post
Place
PostHandler
PostFetcher
PlaceFetcher
PlaceHandler
GiStreamConnection
Base64
communication
org.xml.sax.helpers.DefaultHandler
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Anhang
Klassendiagramm
107
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Anhang
MIDlet-States
http://amenthes.de/index.
php/2008/05/midlet-states/
Test-Programm:
http://amenthes.de/wpcontent/2008/05/midlet-states.zip
Dieses Demo-Programm habe ich geschrieben, um mich mit den
MIDlet-States und State-Übergängen zu beschäftigen. Ich habe es
zweisprachig in meinem Blog veröffentlicht.
Erkenntnisse
— Nokia 6300 (Series 40) kennt keinen pausierten Status für MIDlets
— SonyEricsson K800i kann MIDlets pausieren (aus dem MIDlet
und auch aus dem Telefon)
— Wenn das K800i das MIDlet in den Hintergrund packt, werden
weder pauseApp() noch startApp() aufgerufen - das Midlet läuft
also vollständig im Hintergrund.
— K800i kann nur dann wirklich pausieren, wenn man in
der pauseApp() das currentDisplay auf null setzt (display.
setCurrent(null);). Ein einfaches Aufrufen von notifyPaused()
funktioniert nicht.
— Suns Wireless Toolkit reagiert auf pauseApp() und notifyPaused() gleichermaßen.
108
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
http://creativecommons.org/licenses/
by-sa/2.0/de/legalcode
Anhang
Creative Commons
Namensnennung — Weitergabe
unter gleichen Bedingungen 2.0
CREATIVE COMMONS IST KEINE RECHTSANWALTSGESELLSCHAFT UND LEISTET KEINE
RECHTSBERATUNG. DIE WEITERGABE DIESES
LIZENZENTWURFES FÜHRT ZU KEINEM MANDATSVERHÄLTNIS. CREATIVE COMMONS
ERBRINGT DIESE INFORMATIONEN OHNE
GEWÄHR. CREATIVE COMMONS ÜBERNIMMT
KEINE GEWÄHRLEISTUNG FÜR DIE GELIEFERTEN INFORMATIONEN UND SCHLIEßT DIE HAFTUNG FÜR SCHÄDEN AUS, DIE SICH AUS IHREM
GEBRAUCH ERGEBEN.
—
—
Lizenzvertrag
DAS URHEBERRECHTLICH GESCHÜTZTE WERK
ODER DER SONSTIGE SCHUTZGEGENSTAND (WIE
UNTEN BESCHRIEBEN) WIRD UNTER DEN BEDINGUNGEN DIESER CREATIVE COMMONS PUBLIC
LICENSE („CCPL“ ODER „LIZENZVERTRAG“) ZUR
VERFÜGUNG GESTELLT. DER SCHUTZGEGENSTAND IST DURCH DAS URHEBERRECHT UND/
ODER EINSCHLÄGIGE GESETZE GESCHÜTZT.
DURCH DIE AUSÜBUNG EINES DURCH DIESEN
LIZENZVERTRAG GEWÄHRTEN RECHTS AN
DEM SCHUTZGEGENSTAND ERKLÄREN SIE SICH
MIT DEN LIZENZBEDINGUNGEN RECHTSVERBINDLICH EINVERSTANDEN. DER LIZENZGEBER RÄUMT IHNEN DIE HIER BESCHRIEBENEN
RECHTE UNTER DER VORAUSSETZUNGEIN, DASS
SIE SICH MIT DIESEN VERTRAGSBEDINGUNGEN
EINVERSTANDEN ERKLÄREN.
—
—
1. Definitionen
—
— Unter einer „Bearbeitung“ wird eine Übersetzung oder andere Bearbeitung des Werkes
verstanden, die Ihre persönliche geistige
Schöpfung ist. Eine freie Benutzung des
Werkes wird nicht als Bearbeitung angesehen.
— Unter den „Lizenzelementen“ werden die
folgenden Lizenzcharakteristika verstanden,
die vom Lizenzgeber ausgewählt und in der
Bezeichnung der Lizenz genannt werden:
—
„Namensnennung“, „Nicht-kommerziell“,
„Weitergabe unter gleichen Bedingungen“.
Unter dem „Lizenzgeber“ wird die natürliche
oder juristische Person verstanden, die den
Schutzgegenstand unter den Bedingungen
dieser Lizenz anbietet.
Unter einem „Sammelwerk“ wird eine
Sammlung von Werken, Daten oder anderen
unabhängigen Elementen verstanden, die
aufgrund der Auswahl oder Anordnung der
Elemente eine persönliche geistige Schöpfung
ist. Darunter fallen auch solche Sammelwerke, deren Elemente systematisch oder
methodisch angeordnet und einzeln mit
Hilfe elektronischer Mittel oder auf andere
Weise zugänglich sind (Datenbankwerke). Ein
Sammelwerk wird im Zusammenhang mit
dieser Lizenz nicht als Bearbeitung (wie oben
beschrieben) angesehen.
Mit „SIE“ und „Ihnen“ ist die natürliche oder
juristische Person gemeint, die die durch
diese Lizenz gewährten Nutzungsrechte
ausübt und die zuvor die Bedingungen dieser
Lizenz im Hinblick auf das Werk nicht verletzt hat, oder die die ausdrückliche Erlaubnis
des Lizenzgebers erhalten hat, die durch diese
Lizenz gewährten Nutzungsrechte trotz einer
vorherigen Verletzung auszuüben.
Unter dem „Schutzgegenstand“wird das
Werk oder Sammelwerk oder das Schutzobjekt eines verwandten Schutzrechts, das
Ihnen unter den Bedingungen dieser Lizenz
angeboten wird, verstanden
Unter dem „Urheber“ wird die natürliche
Person verstanden, die das Werk geschaffen
hat.
Unter einem „verwandten Schutzrecht“ wird
das Recht an einem anderen urheberrechtlichen Schutzgegenstand als einem Werk
verstanden, zum Beispiel einer wissenschaftlichen Ausgabe, einem nachgelassenen Werk,
einem Lichtbild, einer Datenbank, einem
Tonträger, einer Funksendung, einem Lauf109
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
bild oder einer Darbietung eines ausübenden
Künstlers.
— Unter dem „Werk“ wird eine persönliche geistige Schöpfung verstanden, die Ihnen unter
den Bedingungen dieser Lizenz angeboten
wird.
2. Schranken des Urheberrechts.
Diese Lizenz lässt sämtliche Befugnisse
unberührt, die sich aus den Schranken des
Urheberrechts,aus dem Erschöpfungsgrundsatz
oder anderen Beschränkungen der Ausschließlichkeitsrechte des Rechtsinhabers ergeben.
3. Lizenzierung.
Unter den Bedingungen dieses Lizenzvertrages
räumt Ihnen der Lizenzgeber ein lizenzgebührenfreies, räumlich und zeitlich (für die Dauer des
Urheberrechts oder verwandten Schutzrechts)
unbeschränktes einfaches Nutzungsrecht ein, den
Schutzgegenstand in der folgenden Art und Weise
zu nutzen:
— den Schutzgegenstand in körperlicher Form zu
verwerten, insbesondere zu vervielfältigen, zu
verbreiten und auszustellen;
— den Schutzgegenstand in unkörperlicher
Form öffentlich wiederzugeben, insbesondere
vorzutragen, aufzuführen und vorzuführen,
öffentlich zugänglich zu machen, zu senden,
durch Bild- und Tonträger wiederzugeben
sowie Funksendungen und öffentliche Zugänglichmachungen wiederzugeben;
— den Schutzgegenstand auf Bild- oder Tonträger
aufzunehmen, Lichtbilder davon herzustellen, weiterzusenden und in dem in a. und b.
genannten Umfang zu verwerten;
— den Schutzgegenstand zu bearbeiten oder in
anderer Weise umzugestalten und die Bearbeitungen zu veröffentlichen und in dem in a. bis
c. genannten Umfang zu verwerten;
Die genannten Nutzungsrechte können für alle
bekannten Nutzungsarten ausgeübt werden. Die
genannten Nutzungsrechte beinhalten das Recht,
solche Veränderungen an dem Werk vorzunehmen, die technisch erforderlich sind, um die
Nutzungsrechte für alle Nutzungsarten wahrzunehmen. Insbesondere sind davon die Anpassung
an andere Medien und auf andere Dateiformate
umfasst.
Anhang
Creative Commons
4. Beschränkungen.
Die Einräumung der Nutzungsrechte gemäß
Ziffer 3 erfolgt ausdrücklich nur unter den folgenden Bedingungen:
— Sie dürfen den Schutzgegenstand ausschließlich unter den Bedingungen dieser Lizenz
vervielfältigen, verbreiten oder öffentlich
wiedergeben, und Sie müssen stets eine Kopie
oder die vollständige Internetadresse in
Form des Uniform-Resource-Identifier (URI)
dieser Lizenz beifügen, wenn Sie den Schutzgegenstandvervielfältigen, verbreiten oder
öffentlich wiedergeben. Sie dürfen keine Vertragsbedingungen anbieten oder fordern, die
die Bedingungen dieser Lizenz oder die durch
sie gewährten Rechte ändern oder beschränken. Sie dürfen den Schutzgegenstand nicht
unterlizenzieren. Sie müssen alle Hinweise
unverändert lassen, die auf diese Lizenz und
den Haftungsausschluss hinweisen. Sie dürfen
den Schutzgegenstand mit keinen technischen
Schutzmaßnahmen versehen, die den Zugang
oder den Gebrauch des Schutzgegenstandes in
einer Weise kontrollieren, die mit den Bedingungen dieser Lizenz im Widerspruch stehen.
Die genannten Beschränkungen gelten auch
für den Fall, dass der Schutzgegenstand einen
Bestandteil eines Sammelwerkes bildet; sie
verlangen aber nicht, dass das Sammelwerk
insgesamt zum Gegenstand dieser Lizenz
gemacht wird. Wenn Sie ein Sammelwerk
erstellen, müssen Sie - soweit dies praktikabel
ist - auf die Mitteilung eines Lizenzgebers oder
Urhebers hin aus dem Sammelwerk jeglichen
Hinweis auf diesen Lizenzgeber oder diesen
Urheber entfernen. Wenn Sie den Schutzgegenstand bearbeiten, müssen Sie - soweit dies
praktikabel ist- auf die Aufforderung eines
Rechtsinhabers hin von der Bearbeitung
jeglichen Hinweis auf diesen Rechtsinhaber
entfernen.
— Sie dürfen eine Bearbeitung ausschließlich
unter den Bedingungen dieser Lizenz, einer
späteren Version dieser Lizenz mit denselben
Lizenzelementen wie diese Lizenz oder einer
Creative Commons iCommons Lizenz, die
dieselben Lizenzelemente wie diese Lizenz
enthält (z.B. Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 2.0 Japan), vervielfältigen, verbreiten
oder öffentlich wiedergeben. Sie müssen
stets eine Kopie oder die Internetadresse in
Form des Uniform-Resource-Identifier (URI)
110
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
dieser Lizenz oder einer anderen Lizenz der
im vorhergehenden Satz beschriebenen Art
beifügen, wenn Sie die Bearbeitung vervielfältigen, verbreiten oder öffentlich wiedergeben.
Sie dürfen keine Vertragsbedingungen anbieten oder fordern, die die Bedingungen dieser
Lizenz oder die durch sie gewährten Rechte
ändern oder beschränken, und Sie müssen alle
Hinweise unverändert lassen, die auf diese
Lizenz und den Haftungsausschluss hinweisen. Sie dürfen eine Bearbeitung nicht mit
technischen Schutzmaßnahmen versehen, die
den Zugang oder den Gebrauch der Bearbeitung in einer Weise kontrollieren, die mit den
Bedingungen dieser Lizenz im Widerspruch
stehen. Die genannten Beschränkungen gelten
auch für eine Bearbeitung als Bestandteil
eines Sammelwerkes; sie erfordern aber nicht,
dass das Sammelwerk insgesamt zum Gegenstand dieser Lizenz gemacht wird.
— Wenn Sie den Schutzgegenstand oder eine
Bearbeitung oder ein Sammelwerk vervielfältigen, verbreiten oder öffentlich wiedergeben,
müssen Sie alle Urhebervermerke für den
Schutzgegenstand unverändert lassen und die
Urheberschaft oder Rechtsinhaberschaft in
einer der von Ihnen vorgenommenen Nutzung
angemessenen Form anerkennen, indem Sie
den Namen (oder das Pseudonym, falls ein
solches verwendet wird) des Urhebers oder
Rechteinhabers nennen, wenn dieser angegeben ist. Dies gilt auch für den Titel des Schutzgegenstandes, wenn dieser angeben ist, sowie
- in einem vernünftigerweise durchführbaren
Umfang - für die mit dem Schutzgegenstand
zu verbindende Internetadresse in Form des
Uniform-Resource-Identifier (URI), wie sie
der Lizenzgeber angegeben hat, sofern dies
geschehen ist, es sei denn, diese Internetadresse verweist nicht auf den Urhebervermerk oder die Lizenzinformationen zu dem
Schutzgegenstand. Bei einer Bearbeitung ist
ein Hinweis darauf aufzuführen, in welcher
Form der Schutzgegenstand in die Bearbeitung
eingegangen ist (z.B. „Französische Übersetzung des ... (Werk) durch ... (Urheber)“ oder
„Das Drehbuch beruht auf dem Werk des ...
(Urheber)“). Ein solcher Hinweis kann in jeder
angemessenen Weise erfolgen, wobei jedoch
bei einer Bearbeitung, einer Datenbank oder
einem Sammelwerk der Hinweis zumindest an
gleicher Stelle und in ebenso auffälliger Weise
Anhang
Creative Commons
zu erfolgen hat wie vergleichbare Hinweise
auf andere Rechtsinhaber.
— Obwohl die gemäss Ziffer 3 gewährten Nutzungsrechte in umfassender Weise ausgeübt
werden dürfen, findet diese Erlaubnis ihre
gesetzliche Grenze in den Persönlichkeitsrechten der Urheber und ausübenden Künstler,
deren berechtigte geistige und persönliche
Interessen bzw. deren Ansehen oder Ruf nicht
dadurch gefährdet werden dürfen, dass ein
Schutzgegenstand über das gesetzlich zulässige Maß hinaus beeinträchtigt wird.
5. Gewährleistung.
Sofern dies von den Vertragsparteien nicht anderweitig schriftlich vereinbart,, bietet der Lizenzgeber keine Gewährleistung für die erteilten
Rechte, außer für den Fall, dass Mängel arglistig
verschwiegen wurden. Für Mängel anderer Art,
insbesondere bei der mangelhaften Lieferung
von Verkörperungen des Schutzgegenstandes,
richtet sich die Gewährleistung nach der Regelung, die die Person, die Ihnen den Schutzgegenstand zur Verfügung stellt, mit Ihnen außerhalb
dieser Lizenz vereinbart, oder - wenn eine solche
Regelung nicht getroffen wurde - nach den gesetzlichen Vorschriften.
6. Haftung.
Über die in Ziffer 5 genannte Gewährleistung
hinaus haftet Ihnen der Lizenzgeber nur für Vorsatz und grobe Fahrlässigkeit.
7. Vertragsende
— Dieser Lizenzvertrag und die durch ihn eingeräumten Nutzungsrechte enden automatisch
bei jeder Verletzung der Vertragsbedingungen durch Sie. Für natürliche und juristische
Personen, die von Ihnen eine Bearbeitung,
eine Datenbank oder ein Sammelwerk unter
diesen Lizenzbedingungen erhalten haben,
gilt die Lizenz jedoch weiter, vorausgesetzt,
diese natürlichen oder juristischen Personen
erfüllen sämtliche Vertragsbedingungen. Die
Ziffern 1, 2, 5, 6, 7 und 8 gelten bei einer Vertragsbeendigung fort.
— Unter den oben genannten Bedingungen
erfolgt die Lizenz auf unbegrenzte Zeit (für die
Dauer des Schutzrechts). Dennoch behält sich
der Lizenzgeber das Recht vor, den Schutzge111
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
genstand unter anderen Lizenzbedingungen
zu nutzen oder die eigene Weitergabe des
Schutzgegenstandes jederzeit zu beenden, vorausgesetzt, dass solche Handlungen nicht dem
Widerruf dieser Lizenz dienen (oder jeder
anderen Lizenzierung, die auf Grundlage
dieser Lizenz erfolgt ist oder erfolgen muss)
und diese Lizenz wirksam bleibt, bis Sie unter
den oben genannten Voraussetzungen endet.
8. Schlussbestimmungen
— Jedes Mal, wenn Sie den Schutzgegenstand
vervielfältigen, verbreiten oder öffentlich wiedergeben, bietet der Lizenzgeber dem Erwerber eine Lizenz für den Schutzgegenstand
unter denselben Vertragsbedingungen an,
unter denen er Ihnen die Lizenz eingeräumt
hat.
— Jedes Mal, wenn Sie eine Bearbeitung vervielfältigen, verbreiten oder öffentlich wiedergeben, bietet der Lizenzgeber dem Erwerber
eine Lizenz für den ursprünglichen Schutzgegenstand unter denselben Vertragsbedingungen an, unter denen er Ihnen die Lizenz
eingeräumt hat.
— Sollte eine Bestimmung dieses Lizenzvertrages
unwirksam sein, so wird die Wirksamkeit der
übrigen Lizenzbestimmungen dadurch nicht
berührt, und an die Stelle der unwirksamen
Bestimmung tritt eine Ersatzregelung, die dem
mit der unwirksamen Bestimmung angestrebten Zweck am nächsten kommt.
— Nichts soll dahingehend ausgelegt werden,
dass auf eine Bestimmung dieses Lizenzvertrages verzichtet oder einer Vertragsverletzung zugestimmt wird, so lange ein solcher
Verzicht oder eine solche Zustimmung nicht
schriftlich vorliegen und von der verzichtenden oder zustimmenden Vertragspartei
unterschrieben sind
— Dieser Lizenzvertrag stellt die vollständige
Vereinbarung zwischen den Vertragsparteien
hinsichtlich des Schutzgegenstandes dar. Es
gibt keine weiteren ergänzenden Vereinbarungen oder mündlichen Abreden im Hinblick
auf den Schutzgegenstand. Der Lizenzgeber ist
an keine zusätzlichen Abreden gebunden, die
aus irgendeiner Absprache mit Ihnen entstehen könnten. Der Lizenzvertrag kann nicht
ohne eine übereinstimmende schriftliche
Vereinbarung zwischen dem Lizenzgeber und
Ihnen abgeändert werden.
Anhang
Creative Commons
— Auf diesen Lizenzvertrag findet das Recht der
Bundesrepublik Deutschland Anwendung.
CREATIVE COMMONS IST KEINE VERTRAGSPARTEI DIESES LIZENZVERTRAGES UND ÜBERNIMMT
KEINERLEI GEWÄHRLEISTUNG FÜR DAS WERK.
CREATIVE COMMONS IST IHNEN ODER DRITTEN
GEGENÜBER NICHT HAFTBAR FÜR SCHÄDEN JEDWEDER ART. UNGEACHTET DER VORSTEHENDEN
ZWEI (2) SÄTZE HAT CREATIVE COMMONS ALL
RECHTE UND PFLICHTEN EINES LIZENSGEBERS,
WENN SICH CREATIVE COMMONS AUSDRÜCKLICH ALS LIZENZGEBER BEZEICHNET.
AUSSER FÜR DEN BESCHRÄNKTEN ZWECK
EINES HINWEISES AN DIE ÖFFENTLICHKEIT,
DASS DAS WERK UNTER DER CCPL LIZENSIERT
WIRD, DARF KENIE VERTRAGSPARTEI DIE MARKE
“CREATIVE COMMONS” ODER EINE ÄHNLICHE
MARKE ODER DAS LOGO VON CREATIVE COMMONS OHNE VORHERIGE GENEHMIGUNG VON
CREATIVE COMMONS NUTZEN. JEDE GESTATTETE
NUTZUNG HAT IN ÜBREEINSTIMMUNG MIT DEN
JEWEILS GÜLTIGEN NUTZUNGSBEDINGUNGEN
FÜR MARKEN VON CREATIVE COMMONS ZU
ERFOLGEN, WIE SIE AUF DER WEBSITE ODER
IN ANDERER WEISE AUF ANFRAGE VON ZEIT ZU
ZEIT ZUGÄNGLICH GEMACHT WERDEN.
CREATIVE COMMONS KANN UNTER
http://creativecommons.org KONTAKTIERT
WERDEN.
112
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Anhang
GNU General Public
License
Version 3, 29 June 2007
Copyright © 2007 Free Software Foundation, Inc.
<http://fsf.org/>
Everyone is permitted to copy and distribute
verbatim copies of this license document, but
changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft
license for software and other kinds of works.
The licenses for most software and other
practical works are designed to take away your
freedom to share and change the works. By contrast, the GNU General Public License is intended
to guarantee your freedom to share and change
all versions of a program--to make sure it remains
free software for all its users. We, the Free Software Foundation, use the GNU General Public
License for most of our software; it applies also to
any other work released this way by its authors.
You can apply it to your programs, too.
When we speak of free software, we are
referring to freedom, not price. Our General
Public Licenses are designed to make sure that
you have the freedom to distribute copies of free
software (and charge for them if you wish), that
you receive source code or can get it if you want
it, that you can change the software or use pieces
of it in new free programs, and that you know you
can do these things.
To protect your rights, we need to prevent
others from denying you these rights or asking
you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of
the software, or if you modify it: responsibilities
to respect the freedom of others.
For example, if you distribute copies of such
a program, whether gratis or for a fee, you must
pass on to the recipients the same freedoms that
you received. You must make sure that they, too,
receive or can get the source code. And you must
show them these terms so they know their rights.
Developers that use the GNU GPL protect your
rights with two steps: (1) assert copyright on the
software, and (2) offer you this License giving you
legal permission to copy, distribute and/or modify
it.
For the developers' and authors' protection,
the GPL clearly explains that there is no warranty
for this free software. For both users' and authors'
sake, the GPL requires that modified versions be
marked as changed, so that their problems will
not be attributed erroneously to authors of previous versions.
Some devices are designed to deny users
access to install or run modified versions of the
software inside them, although the manufacturer
can do so. This is fundamentally incompatible
with the aim of protecting users' freedom to
change the software. The systematic pattern of
such abuse occurs in the area of products for
individuals to use, which is precisely where it is
most unacceptable. Therefore, we have designed
this version of the GPL to prohibit the practice for
those products. If such problems arise substantially in other domains, we stand ready to extend
this provision to those domains in future versions
of the GPL, as needed to protect the freedom of
users.
Finally, every program is threatened constantly by software patents. States should not
allow patents to restrict development and use of
software on general-purpose computers, but in
those that do, we wish to avoid the special danger
that patents applied to a free program could make
it effectively proprietary. To prevent this, the GPL
assures that patents cannot be used to render the
program non-free.
The precise terms and conditions for copying,
distribution and modification follow.
TERMS AND CONDITIONS
0. Definitions.
“This License” refers to version 3 of the GNU
General Public License.
“Copyright” also means copyright-like laws
that apply to other kinds of works, such as semiconductor masks.
“The Program” refers to any copyrightable
work licensed under this License. Each licensee is
113
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
addressed as “you”. “Licensees” and “recipients”
may be individuals or organizations.
To “modify” a work means to copy from or
adapt all or part of the work in a fashion requiring
copyright permission, other than the making of an
exact copy. The resulting work is called a “modified version” of the earlier work or a work “based
on” the earlier work.
A “covered work” means either the unmodified
Program or a work based on the Program.
To “propagate” a work means to do anything
with it that, without permission, would make you
directly or secondarily liable for infringement
under applicable copyright law, except executing
it on a computer or modifying a private copy.
Propagation includes copying, distribution (with
or without modification), making available to the
public, and in some countries other activities as
well.
To “convey” a work means any kind of propagation that enables other parties to make or
receive copies. Mere interaction with a user
through a computer network, with no transfer of a
copy, is not conveying.
An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes
a convenient and prominently visible feature that
(1) displays an appropriate copyright notice, and
(2) tells the user that there is no warranty for the
work (except to the extent that warranties are
provided), that licensees may convey the work
under this License, and how to view a copy of this
License. If the interface presents a list of user commands or options, such as a menu, a prominent
item in the list meets this criterion.
1. Source Code.
The “source code” for a work means the preferred
form of the work for making modifications to it.
“Object code” means any non-source form of a
work.
A “Standard Interface” means an interface that
either is an official standard defined by a recognized standards body, or, in the case of interfaces
specified for a particular programming language,
one that is widely used among developers working
in that language.
The “System Libraries” of an executable
work include anything, other than the work as
a whole, that (a) is included in the normal form
of packaging a Major Component, but which is
not part of that Major Component, and (b) serves
only to enable use of the work with that Major
Anhang
GPLv3
Component, or to implement a Standard Interface
for which an implementation is available to the
public in source code form. A “Major Component”, in this context, means a major essential
component (kernel, window system, and so on)
of the specific operating system (if any) on which
the executable work runs, or a compiler used to
produce the work, or an object code interpreter
used to run it.
The “Corresponding Source” for a work in
object code form means all the source code
needed to generate, install, and (for an executable
work) run the object code and to modify the
work, including scripts to control those activities.
However, it does not include the work's System
Libraries, or general-purpose tools or generally
available free programs which are used unmodified in performing those activities but which are
not part of the work. For example, Corresponding Source includes interface definition files
associated with source files for the work, and the
source code for shared libraries and dynamically
linked subprograms that the work is specifically
designed to require, such as by intimate data
communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include
anything that users can regenerate automatically
from other parts of the Corresponding Source.
The Corresponding Source for a work in
source code form is that same work.
2. Basic Permissions.
All rights granted under this License are granted
for the term of copyright on the Program, and are
irrevocable provided the stated conditions are
met. This License explicitly affirms your unlimited permission to run the unmodified Program.
The output from running a covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License
acknowledges your rights of fair use or other
equivalent, as provided by copyright law.
You may make, run and propagate covered
works that you do not convey, without conditions so long as your license otherwise remains in
force. You may convey covered works to others
for the sole purpose of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided
that you comply with the terms of this License
in conveying all material for which you do not
control copyright. Those thus making or running
114
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
the covered works for you must do so exclusively
on your behalf, under your direction and control,
on terms that prohibit them from making any
copies of your copyrighted material outside their
relationship with you.
Conveying under any other circumstances
is permitted solely under the conditions stated
below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights
From Anti-Circumvention Law.
No covered work shall be deemed part of an
effective technological measure under any applicable law fulfilling obligations under article 11 of
the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
When you convey a covered work, you waive
any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this
License with respect to the covered work, and
you disclaim any intention to limit operation or
modification of the work as a means of enforcing,
against the work's users, your or third parties'
legal rights to forbid circumvention of technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's
source code as you receive it, in any medium,
provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that
this License and any non-permissive terms added
in accord with section 7 apply to the code; keep
intact all notices of the absence of any warranty;
and give all recipients a copy of this License along
with the Program.
You may charge any price or no price for each
copy that you convey, and you may offer support
or warranty protection for a fee.
5. Conveying Modified Source
Versions.
You may convey a work based on the Program, or
the modifications to produce it from the Program,
in the form of source code under the terms of
section 4, provided that you also meet all of these
conditions:
Anhang
GPLv3
— a) The work must carry prominent notices stating that you modified it, and giving a relevant
date.
— b) The work must carry prominent notices
stating that it is released under this License
and any conditions added under section 7.
This requirement modifies the requirement in
section 4 to “keep intact all notices”.
— c) You must license the entire work, as a
whole, under this License to anyone who
comes into possession of a copy. This License
will therefore apply, along with any applicable
section 7 additional terms, to the whole of the
work, and all its parts, regardless of how they
are packaged. This License gives no permission to license the work in any other way, but
it does not invalidate such permission if you
have separately received it.
— d) If the work has interactive user interfaces,
each must display Appropriate Legal Notices;
however, if the Program has interactive interfaces that do not display Appropriate Legal
Notices, your work need not make them do so.
A compilation of a covered work with other separate and independent works, which are not by
their nature extensions of the covered work, and
which are not combined with it such as to form
a larger program, in or on a volume of a storage
or distribution medium, is called an “aggregate”
if the compilation and its resulting copyright are
not used to limit the access or legal rights of the
compilation's users beyond what the individual
works permit. Inclusion of a covered work in an
aggregate does not cause this License to apply to
the other parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code
form under the terms of sections 4 and 5, provided that you also convey the machine-readable
Corresponding Source under the terms of this
License, in one of these ways:
— a) Convey the object code in, or embodied
in, a physical product (including a physical
distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium customarily used for software
interchange.
— b) Convey the object code in, or embodied in, a
physical product (including a physical distribution medium), accompanied by a written
offer, valid for at least three years and valid
115
Betreuer:
Diplomarbeit / SS 2008
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
for as long as you offer spare parts or customer support for that product model, to give
anyone who possesses the object code either
(1) a copy of the Corresponding Source for all
the software in the product that is covered by
this License, on a durable physical medium
customarily used for software interchange,
for a price no more than your reasonable cost
of physically performing this conveying of
source, or (2) access to copy the Corresponding
Source from a network server at no charge.
— c) Convey individual copies of the object code
with a copy of the written offer to provide the
Corresponding Source. This alternative is allowed only occasionally and noncommercially,
and only if you received the object code with
such an offer, in accord with subsection 6b.
— d) Convey the object code by offering access
from a designated place (gratis or for a
charge), and offer equivalent access to the Corresponding Source in the same way through
the same place at no further charge. You need
not require recipients to copy the Corresponding Source along with the object code. If the
place to copy the object code is a network
server, the Corresponding Source may be on
a different server (operated by you or a third
party) that supports equivalent copying facilities, provided you maintain clear directions
next to the object code saying where to find
the Corresponding Source. Regardless of what
server hosts the Corresponding Source, you
remain obligated to ensure that it is available
for as long as needed to satisfy these requirements.
— e) Convey the object code using peer-to-peer
transmission, provided you inform other peers
where the object code and Corresponding
Source of the work are being offered to the
general public at no charge under subsection
6d.
A separable portion of the object code, whose
source code is excluded from the Corresponding
Source as a System Library, need not be included
in conveying the object code work.
A “User Product” is either (1) a “consumer
product”, which means any tangible personal
property which is normally used for personal,
family, or household purposes, or (2) anything
designed or sold for incorporation into a dwelling.
In determining whether a product is a consumer
product, doubtful cases shall be resolved in favor
Anhang
GPLv3
of coverage. For a particular product received
by a particular user, “normally used” refers to a
typical or common use of that class of product,
regardless of the status of the particular user or
of the way in which the particular user actually
uses, or expects or is expected to use, the product.
A product is a consumer product regardless of
whether the product has substantial commercial,
industrial or non-consumer uses, unless such uses
represent the only significant mode of use of the
product.
“Installation Information” for a User Product
means any methods, procedures, authorization
keys, or other information required to install and
execute modified versions of a covered work in
that User Product from a modified version of its
Corresponding Source. The information must
suffice to ensure that the continued functioning of
the modified object code is in no case prevented
or interfered with solely because modification has
been made.
If you convey an object code work under this
section in, or with, or specifically for use in, a
User Product, and the conveying occurs as part
of a transaction in which the right of possession
and use of the User Product is transferred to
the recipient in perpetuity or for a fixed term
(regardless of how the transaction is characterized), the Corresponding Source conveyed under
this section must be accompanied by the Installation Information. But this requirement does not
apply if neither you nor any third party retains
the ability to install modified object code on the
User Product (for example, the work has been
installed in ROM).
The requirement to provide Installation
Information does not include a requirement to
continue to provide support service, warranty,
or updates for a work that has been modified or
installed by the recipient, or for the User Product
in which it has been modified or installed. Access
to a network may be denied when the modification itself materially and adversely affects the
operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided, in accord with this
section must be in a format that is publicly documented (and with an implementation available to
the public in source code form), and must require
no special password or key for unpacking, reading or copying.
116
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
7. Additional Terms.
“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional
permissions that are applicable to the entire
Program shall be treated as though they were
included in this License, to the extent that they
are valid under applicable law. If additional permissions apply only to part of the Program, that
part may be used separately under those permissions, but the entire Program remains governed
by this License without regard to the additional
permissions.
When you convey a copy of a covered work,
you may at your option remove any additional
permissions from that copy, or from any part of it.
(Additional permissions may be written to require
their own removal in certain cases when you
modify the work.) You may place additional permissions on material, added by you to a covered
work, for which you have or can give appropriate
copyright permission.
Notwithstanding any other provision of this
License, for material you add to a covered work,
you may (if authorized by the copyright holders
of that material) supplement the terms of this
License with terms:
— a) Disclaiming warranty or limiting liability
differently from the terms of sections 15 and
16 of this License; or
— b) Requiring preservation of specified reasonable legal notices or author attributions in
that material or in the Appropriate Legal Notices displayed by works containing it; or
— c) Prohibiting misrepresentation of the origin
of that material, or requiring that modified
versions of such material be marked in reasonable ways as different from the original
version; or
— d) Limiting the use for publicity purposes of
names of licensors or authors of the material;
or
— e) Declining to grant rights under trademark
law for use of some trade names, trademarks,
or service marks; or
— f) Requiring indemnification of licensors
and authors of that material by anyone who
conveys the material (or modified versions of
it) with contractual assumptions of liability to
the recipient, for any liability that these contractual assumptions directly impose on those
licensors and authors.
Anhang
GPLv3
All other non-permissive additional terms
are considered “further restrictions” within the
meaning of section 10. If the Program as you
received it, or any part of it, contains a notice
stating that it is governed by this License along
with a term that is a further restriction, you may
remove that term. If a license document contains
a further restriction but permits relicensing or
conveying under this License, you may add to a
covered work material governed by the terms of
that license document, provided that the further
restriction does not survive such relicensing or
conveying.
If you add terms to a covered work in accord
with this section, you must place, in the relevant
source files, a statement of the additional terms
that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the form of a separately
written license, or stated as exceptions; the above
requirements apply either way.
8. Termination.
You may not propagate or modify a covered work
except as expressly provided under this License.
Any attempt otherwise to propagate or modify
it is void, and will automatically terminate your
rights under this License (including any patent
licenses granted under the third paragraph of
section 11).
However, if you cease all violation of this
License, then your license from a particular copyright holder is reinstated (a) provisionally, unless
and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of
the violation by some reasonable means prior to
60 days after the cessation.
Moreover, your license from a particular
copyright holder is reinstated permanently if the
copyright holder notifies you of the violation by
some reasonable means, this is the first time you
have received notice of violation of this License
(for any work) from that copyright holder, and
you cure the violation prior to 30 days after your
receipt of the notice.
Termination of your rights under this section
does not terminate the licenses of parties who
have received copies or rights from you under
this License. If your rights have been terminated
and not permanently reinstated, you do not qua117
Betreuer:
Diplomarbeit / SS 2008
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
lify to receive new licenses for the same material
under section 10.
9. Acceptance Not Required for
Having Copies.
You are not required to accept this License in
order to receive or run a copy of the Program.
Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer
transmission to receive a copy likewise does not
require acceptance. However, nothing other than
this License grants you permission to propagate
or modify any covered work. These actions infringe copyright if you do not accept this License.
Therefore, by modifying or propagating a covered
work, you indicate your acceptance of this License
to do so.
10. Automatic Licensing of
Downstream Recipients.
Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that
work, subject to this License. You are not responsible for enforcing compliance by third parties
with this License.
An “entity transaction” is a transaction transferring control of an organization, or substantially
all assets of one, or subdividing an organization,
or merging organizations. If propagation of a
covered work results from an entity transaction,
each party to that transaction who receives a copy
of the work also receives whatever licenses to the
work the party's predecessor in interest had or
could give under the previous paragraph, plus a
right to possession of the Corresponding Source of
the work from the predecessor in interest, if the
predecessor has it or can get it with reasonable
efforts.
You may not impose any further restrictions
on the exercise of the rights granted or affirmed
under this License. For example, you may not
impose a license fee, royalty, or other charge for
exercise of rights granted under this License, and
you may not initiate litigation (including a crossclaim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using,
selling, offering for sale, or importing the Program
or any portion of it.
Anhang
GPLv3
11. Patents.
A “contributor” is a copyright holder who authorizes use under this License of the Program or a
work on which the Program is based. The work
thus licensed is called the contributor's “contributor version”.
A contributor's “essential patent claims” are
all patent claims owned or controlled by the
contributor, whether already acquired or hereafter acquired, that would be infringed by some
manner, permitted by this License, of making,
using, or selling its contributor version, but do
not include claims that would be infringed only
as a consequence of further modification of the
contributor version. For purposes of this definition, “control” includes the right to grant patent
sublicenses in a manner consistent with the
requirements of this License.
Each contributor grants you a non-exclusive,
worldwide, royalty-free patent license under the
contributor's essential patent claims, to make,
use, sell, offer for sale, import and otherwise run,
modify and propagate the contents of its contributor version.
In the following three paragraphs, a “patent
license” is any express agreement or commitment,
however denominated, not to enforce a patent
(such as an express permission to practice a
patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party
means to make such an agreement or commitment not to enforce a patent against the party.
If you convey a covered work, knowingly
relying on a patent license, and the Corresponding
Source of the work is not available for anyone to
copy, free of charge and under the terms of this
License, through a publicly available network
server or other readily accessible means, then you
must either (1) cause the Corresponding Source to
be so available, or (2) arrange to deprive yourself
of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent
with the requirements of this License, to extend
the patent license to downstream recipients.
“Knowingly relying” means you have actual
knowledge that, but for the patent license, your
conveying the covered work in a country, or your
recipient's use of the covered work in a country,
would infringe one or more identifiable patents in
that country that you have reason to believe are
valid.
If, pursuant to or in connection with a single
transaction or arrangement, you convey, or
118
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
propagate by procuring conveyance of, a covered work, and grant a patent license to some of
the parties receiving the covered work authorizing them to use, propagate, modify or convey a
specific copy of the covered work, then the patent
license you grant is automatically extended to all
recipients of the covered work and works based
on it.
A patent license is “discriminatory” if it does
not include within the scope of its coverage,
prohibits the exercise of, or is conditioned on the
non-exercise of one or more of the rights that are
specifically granted under this License. You may
not convey a covered work if you are a party to
an arrangement with a third party that is in the
business of distributing software, under which
you make payment to the third party based on the
extent of your activity of conveying the work, and
under which the third party grants, to any of the
parties who would receive the covered work from
you, a discriminatory patent license (a) in connection with copies of the covered work conveyed
by you (or copies made from those copies), or
(b) primarily for and in connection with specific
products or compilations that contain the covered
work, unless you entered into that arrangement,
or that patent license was granted, prior to 28
March 2007.
Nothing in this License shall be construed as
excluding or limiting any implied license or other
defenses to infringement that may otherwise be
available to you under applicable patent law.
12. No Surrender of Others'
Freedom.
If conditions are imposed on you (whether by
court order, agreement or otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.
If you cannot convey a covered work so as to
satisfy simultaneously your obligations under this
License and any other pertinent obligations, then
as a consequence you may not convey it at all. For
example, if you agree to terms that obligate you to
collect a royalty for further conveying from those
to whom you convey the Program, the only way
you could satisfy both those terms and this License
would be to refrain entirely from conveying the
Program.
Anhang
GPLv3
13. Use with the GNU Affero
General Public License.
Notwithstanding any other provision of this
License, you have permission to link or combine
any covered work with a work licensed under
version 3 of the GNU Affero General Public
License into a single combined work, and to
convey the resulting work. The terms of this
License will continue to apply to the part which
is the covered work, but the special requirements
of the GNU Affero General Public License, section
13, concerning interaction through a network will
apply to the combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish
revised and/or new versions of the GNU General
Public License from time to time. Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems
or concerns.
Each version is given a distinguishing version number. If the Program specifies that a
certain numbered version of the GNU General
Public License “or any later version” applies to it,
you have the option of following the terms and
conditions either of that numbered version or of
any later version published by the Free Software
Foundation. If the Program does not specify a version number of the GNU General Public License,
you may choose any version ever published by
the Free Software Foundation.
If the Program specifies that a proxy can
decide which future versions of the GNU General
Public License can be used, that proxy's public
statement of acceptance of a version permanently
authorizes you to choose that version for the
Program.
Later license versions may give you additional
or different permissions. However, no additional
obligations are imposed on any author or copyright holder as a result of your choosing to follow
a later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO
THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING
THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT
WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABI119
Diplomarbeit / SS 2008
Betreuer:
Diplomand:
Prof. Dr. Arnd Steinmetz
Claudius Coenen
Prof. Mike Richter
Geospatial Informationaccess—Ein System zur geografisch verorteten
Informationsspeicherung und -abfrage mittels mobiler Geräte
Anhang
GPLv3
LITY AND FITNESS FOR A PARTICULAR PURPOSE.
THE ENTIRE RISK AS TO THE QUALITY AND
PERFORMANCE OF THE PROGRAM IS WITH YOU.
SHOULD THE PROGRAM PROVE DEFECTIVE, YOU
ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE
LAW OR AGREED TO IN WRITING WILL ANY
COPYRIGHT HOLDER, OR ANY OTHER PARTY
WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO
YOU FOR DAMAGES, INCLUDING ANY GENERAL,
SPECIAL, INCIDENTAL OR CONSEQUENTIAL
DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT
NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED
BY YOU OR THIRD PARTIES OR A FAILURE OF
THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER
PARTY HAS BEEN ADVISED OF THE POSSIBILITY
OF SUCH DAMAGES.
17. Interpretation of Sections 15
and 16.
If the disclaimer of warranty and limitation of liability provided above cannot be given local legal
effect according to their terms, reviewing courts
shall apply local law that most closely approximates an absolute waiver of all civil liability in
connection with the Program, unless a warranty
or assumption of liability accompanies a copy of
the Program in return for a fee.
120
</diplomarbeit>

Documentos relacionados