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 – [email protected] 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