1 / 74

Mobile Access Initiative und Device Independence Initiative

Mobile Access Initiative und Device Independence Initiative. Führicht Robert Parzer Stefan Schartner Eva. Einleitung zu Device Independence. Die Gesellschaft im Wandel Mobilität Zeitknappheit Internet in Beruf und Freizeit Internet umfangreiche Informationsplattform

taffy
Download Presentation

Mobile Access Initiative und Device Independence Initiative

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mobile Access Initiative und Device Independence Initiative Führicht Robert Parzer Stefan Schartner Eva

  2. Einleitung zu Device Independence • Die Gesellschaft im Wandel • Mobilität • Zeitknappheit • Internet in Beruf und Freizeit • Internet umfangreiche Informationsplattform • Zielmedium von Applikationen muss sich ändern • Weg vom Browser auf dem Desktop • Hin zu verschiedenen Endgeräten (Desktop, Handy, PDA, …)

  3. Was ist Device Independence • Erweiterung von bestehenden und künftigen Web-Applikationen um verschiedenste Endgeräte bedienen zu können • Benutzer- und Gerätespezifische Antworten • Abhängig unter anderem von • Hardware (Bildschirmgröße, Auflösung, Speicher, …) • Ausgabemodalitäten (visuell, audio, taktil, …) • Software (verschiedene Plattformen)

  4. Die Standards • Unterschiede bei den Endgeräten • Display • Auflösung, Farbtiefe, Größe, Ausrichtung • Eingabemöglichkeiten • Desktop-Tastatur, Notebook-Tastatur, Funktionstasten (PDA), Stift, Maus, … • Übertragungsgeschwindigkeiten • Breitband, ISDN, Modem, … • Ausgabemöglichkeiten • Display, Sprachausgabe, LCD, Drucker, Force Feedback, … • Weitere Fähigkeiten der Hardware • Filme, Sound, Animationen wiedergeben, Akkuleistung, …

  5. Was ist eine Web-Applikation (Webseite)? Definition des W3C einer Web-Applikation (Webseite): „Anwendung die aus Inhalt, Präsentation, Navigation, Interaktion und Business Logic besteht. Die Bandbreit reicht von einer einfachen, nicht interaktiven Anwendung (Informationsseiten) bis zur komplexen, sehr funktionellen Anwendung (E-Commerce.

  6. Elemente einer Webseite - Stil • Stil • Aussehen von Textelementen (Textausrichtung, Einrückungen) • Von Bildern, Graphiken, Video, Audio • Veränderung des Stils betrifft Darstellung des Inhalts nicht aber den Inhalt selbst • Techniken • Autor im Vorhinein Stil der Darstellung auswählt, über Bedingungen ausgewählt (CSS Media Queries) • clientseitige Scripts: für jedes Gerät einzeln nötig, nach Ansicht des W3C nicht für Device-Independece geeignet • serverseitige Scripts: Grundlage für Standards wie CC/PP

  7. Elemente einer Webseite - Layout • Layout • Physische Anordnung der Textelemente, Bilder, … • Designer müssen Rücksicht Hardware nehmen • Kein Display -> Sprachausgabe des Textes • Reihenfolge muss festgelegt werden • Techniken für Anpassung des Layouts • Hardwaremerkmale müssen bekannt sein • Inhalt von Layout getrennt • Oft Layout in Zonen aufgeteilt, Text wird durch ID zugeordnet • -> SMIL

  8. Elemente einer Webseite - Layout • Beispiel für SMIL <smil xmlns=„http://www.w3c.org/2001/SMIL20/“> <head> <layout> <root-layout width=„320“ height=„480“/> <region id=„a“ top=„5“ bottom=„100“/> <region id=„b“ top=„200“ bottom=„200“/> </layout> </head> <body> <text region=„a“ src=„text.html“/> …

  9. Elemente einer Webseite -Inhalt • Inhalt • Text, Graphik, Bilder, Audio, Video, … • Statischer Inhalt • Meist aus Text und fix platzierten Medien • Kein Server zum Zusammensetzen einer Seite nötig • Einfachheit der Erstellung muss sich auf Device Independence übertragen lassen

  10. Elemente einer Webseite - Inhalt • Dynamische generierte Anwendungsdaten • Aus Datenbanken oder Webservices • Reine Information, keine Präsentationsdaten • z.B. Preise, Produktnummern, … • Formatierung muss im Nachhinein hinzugefügt werden • Mögliches Problem • Menge der Daten im Vorhinein nicht bekannt • Kann Endgerät überfordern • Forderung: Möglichkeit zur Anpassung der Menge

  11. Elemente einer Webseite - Inhalt • Dynamisch generierte Daten mit Formatierungsinformationen • Pressemeldungen, Produktkatalog, Suchergebnisse, … • Haben z.B. Formatierung für ihre Überschrift • Meist in HTML • Forderung • Auch für andere Anwendungen, Geräte • Entsprechende Transformationstechniken

  12. Elemente einer Webseite - Inhalt • Designer • Erstellung direkt von Endgeräten beeinflusst • Oft mehrere Versionen des gleichen Inhalts • Techniken • Metainformationen über Inhalt (XML, SMIL, CSS Media Queries)

  13. Elemente einer Webseite - Struktur • Grundlage für Beziehung zwischen Seiten • Wesentlicher Einfluss auf Navigation • Einige Typen: • Linear • Hierarchisch • Netz

  14. Elemente einer Webseite - Struktur • Techniken • Aggregation • Zusammenbringen verschiedener Quellen • Eigene Struktur • In Erstellungsphase, während Adaption, am Client • Durch unterschiedliche Phasen verschiedene Techniken • XInclude • SSI • JSP Include

  15. Elemente einer Webseite - Struktur • Techniken • Dekomposition • Zerlegen von Inhalt in kleinere Einheiten • Ursprüngliche Struktur geht verloren • bei beschränken Fähigkeiten des Clients • Mögliche Ergebnisse bei linearem Inhalt • Paper Pages (Drucker) • Tabbed Pages (Karteikarten) • Wizards (oft für Formulare)

  16. Elemente einer Webseite - Struktur • Techniken Dekomposition Fortsetzung… • Oft ist Nummerierung notwendig • Seitennummer im vorhinein nicht gekannt • Möglichkeit zur Definition von Referenzen • Werden je nach Struktur „übersetzt“ • z.B. siehe Seite 5, für weiter hier klicken

  17. Elemente einer Webseite - Navigation • Zwischen und innerhalb einzelner Seiten • Designer legen Weg fest den Benutzer nehmen können/sollen • Hauptsächlich durch Hyperlinks • Problem der Darstellung • Meist mit langer Textbeschreibung • „Um weitere Hilfe zu erhalten klicken sie hier“ • Auf kleinem Display besser: • „Hilfe“

  18. Elemente einer Webseite - Navigation • Menü • Hierarchisch strukturiert • außerhalb des eigentlichen Inhalts • direkter zugriff • Tastatur-Shortcuts • Direkte Auswahl durch Tastenkürzel • Problem bei verkleinerter oder gar keiner Tastatur

  19. Verschiedene Designtechniken • „Multiple Authoring“ • Für jedes Gerät (-Klasse) • Eigene Version des Inhalts • Keine Unterstützung für nicht berücksichtigte Geräte • Brauchbar für Multimediainhalten (Filme, Audio, Bilder, …) • Muss Weg geben um Inhalt nach den Eigenschaften auszuwählen • Server (URL Redirection, Proxy, Client)

  20. Verschiedene Designtechniken • „Single Authoring“ • Nur eine Version des Inhalte • Eine Adaptionstechnik muss für Übersetzung und Anpassung sorgen • Zusätzliche Metainformationen zur Unterstützung • Markup, Attribute, Kommentare • CSS Media Queries • Regeln von Autor erstellt • „Flexible Authoring • Mischung der Techniken

  21. Adaption des Inhalts • Von Hand durch den Autor • Wünschenswert automatisch ohne Zutun des Autors • Auswählen, Entfernen (Selection/Remove) • Von nicht gewünschtem Inhalt • Augrund von Entscheidungsmechanismen • URL-Redirektion • Server nimmt URL entgegen, leitet Client weiter • Problem: zurückgelieferte URL nicht „Merkbar“, Bookmarks nicht geräteunabhängig

  22. Adaption des Inhalts • In-Document Decision • Durch Auswertung von Entscheidungstags im Content • Einzeln (Conditional Selection) • Wenn „true“ wird Inhalt angezeigt • Als Liste (Switch Selection) • Solange durchsucht bis ein Tag „true“ oder Defaultelement • Praktische Anwendung: SMIL • Problem: zuerst muss gesamtes Dokument übertragen werden

  23. Adaption des Inhalts • Adaption durch Abkürzung • Lange Textpassagen für kleine Endgeräte abgekürzt • Weiterer Text am Dokumentende oder als eigene Seite • Problem wenn der Sinn verändert wird • „President eats astronaut foot during visit to launch site“ • „President eats astronaut …“

  24. Adaption des Inhalts • Transformation • Format, Beschreibungssprache in eine andere umgeformt • Techniken • XSLT (HTML->WML, XML->SVG) • DOM (für markup) • Image Filter/Converter • Enthaltene Medien (z.B. Bilder) können dabei beibehalten werden oder ebenfalls Transformiert werden

  25. Adaption Processors • Können Inhalte einer bestimmten Form in ein anderes Format umwandeln • Auf einfacher Ebene (HTML für verschiedene Browser) • komplex: „übersetzen“ zwischen verschiedenen Medien • Graphisch -> Audio • Serverseitige Adaption • Entsprechende Informationen vorausgesetzt • Bandbreite optimal ausnutzen (RTP, RTSP)

  26. Adaption Processors • Fortsetzung serverseitige Adaption… • Variant Selection • Server hat Auswahl an Varianten des Inhalts • Wählt passenden für Client aus • Media Adaption • Für Bilder, Audio, Video • Auflösung, Farbtiefe, Format (.jpg -> .wbmp) geändert

  27. Adaption Processors • clientseitige Adaption • Image Resizing • Skalierung auf dem Endgerät • z.B. Landkarte • Unterschiedliche Skalierung Text und Graphik, damit Text noch lesbar bleibt • Textteile weglassen

  28. Adaption Processors • Form Resizing • Größenänderung eines Eingabeformulares • Formularelemente verkleinern • Position der Elemente verändern • Elemente in kleinere adäquate Form umwandeln

  29. Adaption Processors • Adaption auf einem Proxy • Proxy leitet Anfrage an Server weiter • passt dessen Antwort an die Bedürfnisse des Clients an

  30. Kritische Würdigung der Standards • Momentaner W3C-Status: „Group Notes“ • Recht früh, wenig konkret, Denkansätze • Einzig CC/PP Standard („Recommendation“) wirkt einigermaßen ausgereift • Übergeordneter Zusammenhalt zwischen den Standards fehlt uns. • Umfangreicher Glossar vorhanden • Keine brauchbare Referenz/Richtlinien zur Entwicklung konkreter ubiquitärer Webapplikationen.

  31. CC/PP - Überblick • Composite Capabilities / Preference Profiles • Recommendation des W3C [W3C04_01] • XML basierte Sprache zur Beschreibung der Eigenschaften eines Endgerätes z.B.: • Max. Auflösung • Javaunterstützung • zur Verfügung stehender Speicher • usw.

  32. CC/PP • W3C Standard umfasst kein Übertragungsprotokoll für CC/PP • CC/PPEx und W-HTTP • CC/PP ist ohne UAProf in der Praxis nicht anwendbar, weil Spezifikation von konkreten Attributen fehlt. • Framework • Datentypen für Attribute • Mechanismus für Standardwerte

  33. CC/PP - Aufbau • Ein CC/PP Profil ist immer aus Komponenten und Attributen aufgebaut • Komponenten: • Hauptkomponente des spezifizierten Endgerätes (z.B.: Hardware, Software) • Attribute: • Aspekt der Hauptkomponente und seine Ausprägung (z.B.: Speichergröße: 128KB)

  34. CC/PP - Datentypen • einfache Typen • String • Integer • Rational • zusammengesetzte Typen • rdf:Bag (Menge von Werten ohne bestimmte Reihenfolge) • rdf:Seq (Reihenfolge der Werte hat eine Bedeutung)

  35. CC/PP - Defaultwerte • Bequeme Art zwei annähernd gleiche Geräte mit dem selben Profil anzusprechen <ccpp:component> <ex:HardwarePlatform rdf:about="http://www.example.com/ profile#TerminalHardware"> <ccpp:defaults rdf:resource="http://www.example.com/ schema#HWDefault" /> <ex:memoryMb>32</ex:memoryMb> </ex:HardwarePlatform> </ccpp:component>

  36. CC/PP - UAProf • User Agent Profiles • Spezifiziert von der Open Mobile Alliance (OMA) 1999 • Konkrete Attribute für Endgeräte werden spezifiziert • Vokabular für CC/PP • Wird in der Praxis eingesetzt

  37. CC/PPEx – Übertragung des Profils zum Server Repository Holt Profil aus der Repository URL zum Profil in der Repository und etwaige Änderungen Server Client An des Endgerät angepasste Seite

  38. CC/PP – W-HTTP • Alternative zu CC/PPEx • Kompatibel zu HTTP 1.1 • CC/PPEx ist Anwendung des HTTP Extension Frameworks • bedingt kompatibel zu HTTP 1.1 • von der OMA in der UAProf Spezifikation [OMA03]

  39. CC/PP - Implementierungen • DELI entwickelt in den HPLabs von Dr. Mark H. Butler Framework zur Verwendung von Profildaten in Java Servlets • DICE JavaServlet für Tomcat • X-Smiles Java basierter Browser, der CC/PP an den • Jigsaw Java basierter Webserver des W3C

  40. Kriterien für Webapplikationen • Unabhängigkeit vom Endgerät • Vorlieben des Benutzers • gerätespezifische Response auf ein Request • Dazu zwei Prinzipien beachten • Information über den Kontext • Adaptierung gemäß der Kontextparameter

  41. Kriterien für Webapplikationen Kontext Properties spezifizieren Information die man für spezifische Adaptierung benötigt. • Ort • Zeit • Netzwerk • Endgerät • Applikation • Benutzer 1. Welche dieser Properties werden unterstützt? 2. Können eigene Properties definiert werden?

  42. Kriterien für Webapplikationen Eigenschaften von Kontext Properties 3. Werte von Properties verfolgen • Properties die sich mit Zeit ändern • Chronologie 4. Validierung 5. Persistente Speicherung • Art der Speicherung: Datenbank oder Profile • Wiederverwendbarkeit 6. Unterscheidung zwischen physischer und logischer Kontextinformation • Abstraktionsgrad • Physisch: User ID • Logisch: Profilinformationen des Benutzers

  43. Kriterien für Webapplikationen 7. Statische oder Dynamische Properties? • Statisch: am Anfang festgelegt, ändern sich nicht mehr, z. B. Entscheidung für Sprache • Dynamisch: Wert ändert sich während der Dauer der Applikation, z. B. verschiedene Endgeräteparameter • Erst durch Dynamische wird Device Independence Realität 8. Dynamische Properties – wie wird veränderter Wert bemerkt? • Periodische Abfrage • Event-Listener-Modell • Als Parameter im Request bei jeder Anfrage neu ermittelt

  44. Kriterien für Webapplikationen Adaptierung: maßgeschneiderter Inhalt für Endgeräte 9. Darstellung des Inhalts der Applikation • Datenbank – Semantik! • HTML-Seiten – statisch! 10. Architektur – wo findet Adaptierung statt? • End-to-End Kommunikation • Server • Client • Intermediary Anstatz • Proxy Beides hat Vor- und Nachteile

  45. Kriterien für Webapplikationen 11. Granularität der Adaptierung • Jedes Endgerät als individuelle Einheit • Endgeräte als Klassen gesehen, Adaptierung nur klassenspezifisch 12. Zwischenergebnisse von Adaptierungen wieder verwendet? 13. Unterstützte Modalitäten bei Adaptierung • Gängig: visuell, audio • Sprachen 14. Adaptierung auf verschiedenen Qualitätsstufen • Bild in mehreren Auflösungen • Gegensatz: Originalelement oder Entfernung

  46. Kriterien für Webapplikationen Operationen für Adaptierung 15. Sind Adaptierungsoperationen schon vorhanden? 16. Können selbst Operationen definiert werden? • Zukunft: neues Endgerät kann kommen 17. Verwendete Transcoding Techniken • Bildgröße: Subsampling oder Skalieren • Diverse Kompressionsverfahren: JPEG, GIF • Reduzieren der Auflösung • Reduzieren der Farbtiefe 18. Sequentielle Ausführung von Transcoding Techniken?

  47. Kriterien für Webapplikationen Operationen für Adaptierung 19. Adaptierung automatisch oder manuell • Automatisch: voreingestellte Operationen • Manuell: Benutzer kann in Transcoding eingreifen 20. Prozess der Adaptierung: statisch oder dynamisch • Statisch: zur Designzeit steht fest, welche Transcoder verwendet werden • Dynamisch: zu Laufzeit wird durch Properties der geeignete Transcoder ausgewählt

  48. Kriterien für Webapplikationen Ergebnis von Adaptierung 21. Welche Transformationen werden von der Applikation unterstützt? • XSLT • Transcoder 22. In welche Datenformate kann der Inhalt der Applikation übergeführt werden? • HTML, HDML, VoiceXML, WML, 23. Stellt die Applikation ein Verfahren zur Verfügung, um das Ergebnis der Transformation optimaler zu übertragen?

  49. Evaluierung verschiedener Ansätze • IBM Transcoding Publisher • Morphis • DICE • Motorola Museum

  50. IBM Transcoding Publisher • Kommerzielles Produkt von IBM • Läuft auf mehreren Plattformen • Server-basierte Software • Übersetzt dynamisch Webinhalte in diverse Mark-up Sprachen • Optimale Übertragung zu mobilen Endgeräten • Evaluierung gemäß den vorigen Kriterien

More Related