Technische Universität München, Informatik XI
Angewandte Informatik / Kooperative Systeme
Praktikum Mobile Web 2.0 –
2.Teil
Wolfgang Wörndl, Robert Eigner
SS 2008
Technische Universität München, Informatik XI
Angewandte Informatik / Kooperative Systeme
Überblick Aufgabenstellung
Erweiterung Client: Erfassung von
verschiedenen Item-Typen mit
Bewertungen
– Optional: Tag Cloud am Client
Upload zu Server („ausgezeichneter“ Peer)
Anzeige und Bewertung an Monitor mit
Touchscreen Funktionalität
Empfehlungsfunktion
– Download eines empfehlenswerten Items (über
Mail-Schnittstelle)
Wolfgang Wörndl, Robert Eigner
2
Technische Universität München, Informatik XI
Angewandte Informatik / Kooperative Systeme
Item-Typen
Client verwaltet bisher als Items beliebige Dateien
Soll dahingehend erweitert werden, dass der Item-Typ
auch erfasst werden kann
– Foto, Audionotiz, Freihandnotiz, Text, …
– Item: Datei + Tags + Item-Typ
Mindestanforderung: Schnittstelle, um Datei mit Typ,
Tags und Bewertung zu versehen, und am
Serveranwendung zu schicken
– Noch besser: Integration von Fotos mit Kamera, Sprach- oder
Freihandnotiz
Es soll mit mehreren Client-Instanzen – d.h. mehreren
Usern – getestet werden
Items sollen bewertet werden können
– Z.B. „+/-“, Zahl von 1 bis 6, Sterne, …
– Jeder User kann Items (auch die von anderen Usern)
bewerten
Wolfgang Wörndl, Robert Eigner
3
Technische Universität München, Informatik XI
Angewandte Informatik / Kooperative Systeme
Optional: Tag Cloud
Als weitere denkbare Erweiterung kann
am Client eine „Tag Cloud“ der
vorhandenen Tags generiert werden
– http://de.wikipedia.org/wiki/TagCloud
Weitere/andere
Ideen können
auch gerne umgesetzt werden
– Mindestanforderungen auf
Folie 2+3
Wolfgang Wörndl, Robert Eigner
4
Technische Universität München, Informatik XI
Angewandte Informatik / Kooperative Systeme
Upload zu Server
Server = Notebook, der am Touchscreen hängt mit
Programm zur Speicherung, Anzeige und
Bewertung der Items
Möglichkeiten
– Modifikation von Georg Groh‘s Servlet
– Eigenes Java oder C# Programm
Es muss das (bisherige) Interface zum ItemAustausch beibehalten werden
– Primitiv „send message” (s. 1.Teil)
– Gegenseitiger Test einzelner Teams erwünscht!
Darstellung der Items am Touchscreen
– Mind. zwei Item-Typen
– Items von mind. zwei Usern
– Geeignete Darstellung wichtig, z.B. Liste +
Detailansicht
Wolfgang Wörndl, Robert Eigner
5
Technische Universität München, Informatik XI
Angewandte Informatik / Kooperative Systeme
Anzeige und Bewertung
Bewertungsfunktion auch am Touchscreen
Zusätzlich soll es eine Funktion
„Empfehlung“ geben
– Dann senden eines neuen Items an Client
– Empfehlungsfunktion auszuarbeiten
Auf Basis von kollaborativem Filtern
Kollaboratives Filtern
– Ermittle ähnliche andere User
Auf Basis der abgegebenen Bewertungen
– Suche (neue) Items, die von ähnlichen Usern
gut bewertet wurden
Weitere Informationen u.a.:
http://en.wikipedia.org/wiki/Collaborative_filtering
Wolfgang Wörndl, Robert Eigner
6
Technische Universität München, Informatik XI
Angewandte Informatik / Kooperative Systeme
Touchscreen
NEC 32“ Widescreen Monitor
– Empfohlene Auflösung: 1360x768 Pixel
– Vorhanden in Raum 01.05.033
Notfalls kann auch das Gerät in 01.05.058
verwendet werden (falls dort gerade keine
Besprechung)
Touchscreen Funktionalität
– Treiber für XP, Vista u.a. (Mac nicht getestet):
http://www.elotouch.com/Support/Downloads/dnld.asp
– Auch Bsp. Programm mit Registrierkasse
(CD für Win XP ausleihbar)
– Nach Installation Kalibrierung erforderlich
Wolfgang Wörndl, Robert Eigner
7
Technische Universität München, Informatik XI
Angewandte Informatik / Kooperative Systeme
Interaktion
Funktioniert wie ein Mauszeiger
– Anschluss mit USB
Aber Benutzer-Interaktion muss auf
Touchscreen abgestimmt werden!
– Eher schwierig:
Bewegen des Mauszeigers
drag-and-drop
– Leicht:
Klick auf Icon
– Bedienelemente sollten nicht zu klein sein
– Bildlauf nicht über Scroll-Balken, sondern über
„oben“ und „unten“ Buttons etc.
Schöne Benutzer-Interaktion ist also die „Kür“
für Touchscreen-Anwendung
Wolfgang Wörndl, Robert Eigner
8
Technische Universität München, Informatik XI
Angewandte Informatik / Kooperative Systeme
Beispiel Registrierkasse
Wolfgang Wörndl, Robert Eigner
9
Technische Universität München, Informatik XI
Angewandte Informatik / Kooperative Systeme
Fazit
Zeitplan
– Heute, 27.5.: Vorstellung der Aufgabe Teil 2
Dann Analyse und Design (1 Woche)
– 3.6.: Kurzvorstellung Analyse und Design
Dann Implementierung und Test (2 Wochen)
– 17.6.: Testate (Demo der Anwendung am
Touchscreen + Fragen)
Danach Dokumentation (per Email abgeben)
– 24.6.: Vorstellung Teil 3
Betreuung durch Robert Eigner
– eigner@in.tum.de
Wolfgang Wörndl, Robert Eigner
10
Technische Universität München, Informatik XI
Angewandte Informatik / Kooperative Systeme
Beispiel MouseEvent in Java
import java.awt.event.MouseListener;
public class MouseEventDemo implements MouseListener {
public
public
public
public
public
void
void
void
void
void
mousePressed(MouseEvent e)
mouseReleased(MouseEvent e)
mouseEntered(MouseEvent e)
mouseExited(MouseEvent e)
mouseClicked(MouseEvent e)
{
{
{
{
{
}
}
}
}
}
}
Wolfgang Wörndl, Robert Eigner
11
Technische Universität München, Informatik XI
Angewandte Informatik / Kooperative Systeme
Beispiel MouseEvent in Java
import java.awt.event.MouseMotionListener;
public class MouseMotionDemo implements
MouseMotionListener {
public void mouseDragged(MouseEvent e)
public void mouseMoved(MouseEvent e)
{ }
{ }
}
Wolfgang Wörndl, Robert Eigner
12
Technische Universität München, Informatik XI
Angewandte Informatik / Kooperative Systeme
Beispiel MouseEvent in Java
Mit Hilfe des MouseEvent sind weitere
Dinge abfragbar, z.B. Anzahl der
Mouseclicks, Position, …
Mehr unter
– http://java.sun.com/javase/6/docs/api/java
/awt/event/MouseEvent.html
Tutorial unter
– http://java.sun.com/docs/books/tutorial/uis
wing/events/mouselistener.html
– http://java.sun.com/docs/books/tutorial/uis
wing/events/mousemotionlistener.html
Wolfgang Wörndl, Robert Eigner
13