270 likes | 368 Views
Filling the gap between users and objects: a multichannel interactive environment. Davide Carboni, Gavino Paddeu, Stefano Sanna, Andrea Piras {dcarboni, gavino, gerda, piras}@crs4.it CRS4 – Center for Advanced Studies, Research and Development in Sardinia.
E N D
Filling the gap between users and objects: a multichannel interactive environment Davide Carboni, Gavino Paddeu, Stefano Sanna, Andrea Piras {dcarboni, gavino, gerda, piras}@crs4.it CRS4 – Center for Advanced Studies, Research and Development in Sardinia WOA 2003 – Villasimius (Cagliari)
Environment in evolution • Mobile computing • Pervasive computing • Domotics • Wearable technologies WOA 2003 – Villasimius (Cagliari)
Problem • An application is available only on a kind of devices. • Often developers have to re-implement it in order to reach other devices. • Expensive tasks in terms of money and time. WOA 2003 – Villasimius (Cagliari)
The simplest approach • It is not necessary to re-implement the logic of the application but only to change its user interfaces. WOA 2003 – Villasimius (Cagliari)
A solution: model-based user interfaces • A model is usually defined with a tool that generates a task model. • The task model is translated in text document written following an ad-hoc declarative language. • A processor parses the text and composes the user interface. WOA 2003 – Villasimius (Cagliari)
Another solution: based on Model-View-Control • Decompose the application logic in a set of models that are strictly bound to the data. • For each model, the designer can provide one or more user interfaces, the View-Control subsystem. WOA 2003 – Villasimius (Cagliari)
Our approach • Starting from the MVC. • The model is a set of objects. • Each model is analyzed for rendering the user interface according to the features of the target device. • MORE – Multichannel Object Renderer WOA 2003 – Villasimius (Cagliari)
Model translation • Create a container for the actual channel. • Detect fields and methods of the object model. • For each field: • search the coupled widget • if it exists, add it to container • else add a link • For each method: • add widget to container WOA 2003 – Villasimius (Cagliari)
Categorization of devices • Fat Client: the device can download and execute mobile code (desktop, notebooks, tablet-PCs). • Thin Client: the device can execute local code and can download/upload data (PDA, set-top box, programmable phone). • Web-like Client: the device is equipped with 3rd party browser. WOA 2003 – Villasimius (Cagliari)
MORE architecture WOA 2003 – Villasimius (Cagliari)
An object model: personal agenda WOA 2003 – Villasimius (Cagliari)
Personal agenda on fat clients WOA 2003 – Villasimius (Cagliari)
User interface generation on fat clients • The output of the model translation is the user interface. • The actions performed on the user interface are directly forwarded to the object model. WOA 2003 – Villasimius (Cagliari)
User interface composition on thin clients • The model translation is performed on server side and produces an XML document. • On the device, a small application is installed. It receives the XML document, parses it and generates the user interface. • Three implementations of MORE: iTV, PDA and smartphone. WOA 2003 – Villasimius (Cagliari)
Personal agenda on thin clients WOA 2003 – Villasimius (Cagliari)
User interface on web-like clients • As for thin clients, the model translation produces an XML document. • A XSLT processor takes the XML document and a selected set of XSL style sheets and returns the mark-up document for the user browser. • The processing is server side. • Four implementations of MORE: “high-end” HTML, “low-end” HTML, WML and VoiceXML. WOA 2003 – Villasimius (Cagliari)
Personal agenda on “high-end” HTML browser WOA 2003 – Villasimius (Cagliari)
Personal agenda on WML browser WOA 2003 – Villasimius (Cagliari)
Pros • The object models are ready-to-use for each category of devices with an existing implementation of MORE. • Easy to extend as new devices categories emerge. • Fast prototyping. WOA 2003 – Villasimius (Cagliari)
Cons • Limited customization of user interface. • Difficult access to peripherals connected to the user device. WOA 2003 – Villasimius (Cagliari)
Thanks for your attention Andrea Piras piras@crs4.it WOA 2003 – Villasimius (Cagliari)
Why multichannel? • Multichannel because the 8 MORE implementations do not share the changes on an object and each one works as the others do not exist. WOA 2003 – Villasimius (Cagliari)
Updating the fields values • The value updates on the UI are update on the model too • Directly on fat client • Thin client sends a XML document • Web-like client sends the values as parameters of the request WOA 2003 – Villasimius (Cagliari)
Result of an invoked method • If the result of the method is • a complex object: it will be the next processed model • a basic field: it will be encapsulated in a ad-hoc object and the object will be the next processed model • null: the same object of the current UI will be the processed model WOA 2003 – Villasimius (Cagliari)
The kind of the browser is identified analyzing the HTTP headers of the request. • Standard user agent header for 3rd party browser • Extended headers for thin client WOA 2003 – Villasimius (Cagliari)
MORE – agent? • MORE has the features of an intelligent agent: • Capable of flexible action in some environment • Reactive: responds to environment changes • Proactiveness: attempt to achieve goals • Social ability: can interact with other applications • Veracity: communicate true information • Benevolence: try to do what is asked • Rationality: act in order to achieve goals WOA 2003 – Villasimius (Cagliari)