Zurück zur Übersicht

W3C XForms

MMI Übung 2 by David Weikersdorfer

Einführung

Xforms ist ein Standard des "World Wide Web Consortium" (W3C) zur Spezifikation von Formularfelder. Es führt das XML-Konzept fort indem das Datenmodell, die Daten der momentanen Sitzung und das eigentliche User Interface konsequent getrennt werden. Durch die Verwendung von vorhandenen XML-Techniken werden grundlegende Funktionalitäten zur Bereichsprüfung und Berechnungen anhand der Eingabedaren bereitgestellt. Dadurch können in den meisten Fällen umständliche, individuelle und ressourcenfressende Skripte vermieden werden.

Integration und Features

Zu dem Zeitpunkt wo dieser Artikel geschrieben wurden unterstützen Brwoser wie Firefox oder IE XForms nicht direkt. Allerdings gibt es schon zahlreiche Implementierungen und PlugIns die sie direkt unterstützen. Um nur einig zu nennen: "X-Smiles") (ein auf Java basierender XForms-Browser) oder das "Mozilla XForms Projekt" . Außerdem können die Forms schon auf dem Server umgewandelt werden, so daß sie jeder momentan verfügbare Browser XForms schon indirekt verwenden kann.
Xforms ist natürlich nicht nur auf dem PC verfügbar, sondern auch auf PDAs und Mobiltelephonen einsetzbar. Zum Beispiel bietet X-Smiles schon die nötige Unterstützung dafür.
Viele teils einfache Funktionen von Formularfeldern wie zum Beispiel Berechnungen auf Basis der Eingabe, Bereichsprüfungen oder situationsabhängige Änderung der Formulare, können mit dem derzeitigen Stand der Technik nur durch Javaskript verwirklicht werden. Xforms bietet dem Entwickler durch Angabe von Xpath (http://www.w3.org/TR/xpath.html) basierten Optionen und XML-Schemata Datentypen die Möglichkeit für die am meisten benutzten Funktionen das Skripting zu minimieren.
Zusätzlich bieten XForms noch eine Reihe weiterer Vorteile gegenüber traditionellem Forms mit HTML. Eingabedaten können bei der Initialisierung einer Form aus einem externen Dokument geladen werden und zur Zwischenspeicherung in Dateien gespeichert und geladen werden werden. Außerdem können sie an mehrere Server gleichzeitig übermittelt werden und zwischen aufeinanderfolgenden Formen weitergereicht werden.
Die Technik fügt sich nahtlos in die Verwendung von XML im Web ein. Die Formen werden vom Programmierer in XML geschrieben, die gesammelten Daten liegen in XML vor und es können direkt XML-Dateien verarbeitet werden.
Die Interaktion des Benutzers mit dem Formularfeld wird durch Xforms verbessert, da durch das Entfallen der meisten Skripte, der Browser direkt Eingaben überprüfen kann und die Latenzzeiten durch die Kommunikation mit dem Server demnach auf ein Minimum reduziert werden.
Durch die Verwendung von XML können Formularfelder wesentlich leichter internationalisiert werden was den meisten Benutzern, die Englisch nicht als Muttersprach haben entgegenkommen dürfte. Außerdem wurde auch auf eine Zugänglichkeit für Programmen für Blinde wert gelegt.

Opinion

Formularfelder sind ein elementarer Bestandteilen in der heutigen Computerwelt, sei es das Konfigurationsmenü eines Computerprogrammes, das Adressbuch auf einem Handy oder ein E-Shop im Internet. Umso wichtiger ist es, das auch nicht technisch visierten Menschen der Zugang in diesem Bereichen möglichst leicht fällt. XForms erfindet in diesem Zusammenhang ganz offensichtlich das Rad nicht neu. Wie auch, ist es doch nur eine technische Weiterentwicklung von vorhandenen Techniken. Es scheint auch offensichtlich nicht die Absicht der Entwickler gewesen zu sein bei der Benutzung groß etwas zu ändern. Es gibt ein paar neue Eingabemöglichkeiten ( erlaubt das Einstellen eines Wertes zwischen zwei vorgegebenen). Außerdem fällt poitiv auf, das weniger Javaskript eine höhere Reaktionszeit des Browsers ermöglicht. Dies scheint aber der einzige konkrete Vorteil von XForms für den Benutzer zu sein. Die meisten Veränderungen gibt es für den Entwickler der das System zusammenbauen darf. Hier wird ein wenig an der Syntax gedreht, neue Dinge eingeführt, etc. Wie das so bei Technologiefortschritt ist.
Ich frage mich nur, wem soll das dienen? Geht es nicht darum dem Menschen der das System verwendet etwas zu bieten! Oder geht es nur darum die Entwickler bei Laune zu halten bzw zu nerven, indem man ihnen im Jahresrythmus neue Technologien vorsetzt. Die Idee "Semantic Web" die XForms konsequent weiterführt ist ein vielversprechender Ansatz, der das Web technisch revolutionieren wird. Das ganze macht für mich aber eher den Eindruck als hätte man in der Enstehungszeit des WWW "einfach mal angefangen" und denkt jetzt darüber nach wie es denn sauber und effizient funktioniert. Nur... sollte man sich nicht vielleicht erst Gedanken darüber machen was der Mensch braucht und ob der verfolgte Weg zu diesen Zielen führt?
Vielleicht gibt es ja eine ganz andere Möglichkeit Formularfelder zu verwenden. Vielleicht sind Formularfelder auch nur ein Produkt aus festgefahrenem Denken von Leuten die nun schon damit aufgewachsen sind. Mir zumindest haben solche Eingaben noch nie beonders Spaß gemacht. Und wenn ich dann mal ein Buch bei Amazon kaufe, hab ich eigentlich auch noch nie so richtig eins benutzen müssen. Die Leute dort werden schon wissen warum sie "Mein Amazon" anbieten. Man loggt sich ein - Name und Passwort (dafür braucht man keine Formularfeldtechnik). Dann das Suchwort eingeben (eine String als Eingabe - sonst nichts), ein wenig Schmökern und mit zwei klicks ist der Kauf getätigt. Wo war da jetzt ein Formular nötig?
Aber vielleicht beruhigt es ja einen Programmiere, daß es jetzt mit XForms eine neue und bessere Methode gibt Formularfelder zu entwickeln ...

Literatur-/Quellenverzeichniss

Wikipedia (englisch) "Xforms"
W3C "XForms 1.0"
W3C "XForms 1.0 Frequently Asked Questions"
Weitere Quellen die auf Wikipedia (englisch) "Xforms" unter "External Links" angegeben sind