White paper: First ideas for a Widget Self-Description and Interaction Language

Tobias Nelkner and Wolfgang Reinhardt
University of Paderborn, Institute of Computer Science Fuerstenallee 11, 33102 Paderborn, Germany {tobin,wolle}@upb.de

Abstract. Widgets and widget-based environments have gained a lot attention recently. Widgets provide single-purpose services intended as a full-scale application which is not prepared for communication with other widgets. In this paper we envisage our recent approach for the development of a standardized language for self-secription and interaction of widgets. Key words: widgets, interaction, sepcification language



In the context of the EU funded MATURE-IP project (FP7, contract no. 216356) currently technical options for realizing personal and organizational learning environments (PLME [3], OLME [4]) are discussed. For creating personal learning environments a widget based approach seems to be promising as widgets and widget-based environments have gained a lot attention recently. Widgets provide single-purpose services intended for end-users and are authored using Web standards, but whose content can also be embedded into Web documents [1]. Until today there is a problem in exchanging data between widgets or establishing other communications between widgets. This makes it difficult to build complex, context-aware widget-based learning and working environments. This paper describes the latest advances of our research-in-progress concerning the definition of a Widget Self-Description and Interaction Language (WSDIL). We sketch the basic idea of the self-description of widgets and present a use case that makes use of the self-description for enabling interaction between widgets. We close with a discussion of the presented approach and present our roadmap for the future development of WSDIL.


Goals, approaches, and use cases for the WSDIL

Description languages generally refer to a king of language that describe interfaces [5] or services (e.g. WSDL) and their interaction [7]. Description languages are generally not directly executed but are used during the analysis, specification


Tobias Nelkner and Wolfgang Reinhardt

and design of systems and describe how parts of a system can interact with each other. The W3C is currently working on a standard for Widget Specification [1]. This initiative concentrates mainly on aspects like description, packaging and updating and is very valuable. But within this specification widgets are not considered to be pieces of software loosely joinable but isolated ones. Therefore, aspects that are relevant for data exchange have not been considered. The WSDL specification can be helpful for describing data send from one to another widget or even to a pool of widgets. However, the WSDL specification does not consider the description of a widget but it describes web services that allow calling functions. But the concept of communication between widgets is similar to the concept of pipes and filters and therefore has another focus. 2.1 The WSDIL Specification

The Widget Self-Description and Interaction Language aims at describing widgets running in the widget server developed within the mature project [2]. The widget server is responsible for providing point-to-point or point-to-group communication facilities to widgets.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

<?xml version=” 1 . 0 ” e n c o d i n g=”UTF−8” standalone=” y e s ” ?> <w i d g e t> <data> <i n p u t /> <o u t p u t s> <output f i l t e r =” P e r s o n s ”> <name>Person</name> <d e s c r i p t i o n>vCard Format 3 . 0</ d e s c r i p t i o n> <DataType>S t r i n g</DataType> </ output> ... </ o u t p u t s> </ data> <e v e n t s> <e v e n t> <name> F i l t e r</name> <i d>FILTER OUTPUT AGAIN</ i d> ... </ e v e n t> </ e v e n t s> <metadata> <name>Address Book Widget</name> <u r i>h t t p : // mature−i p . eu / w i d g e t s e r v e r / a d d r e s s b o o k w i d g e t ... </ metadata> </ w i d g e t>

In order to support easily creating, providing and linking widgets, we have started to define a specification for self-description and interaction of widgets,

White paper: First ideas for a WSDIL


the WSDIL. This specification allows widget developers to describe their widgets so that others can use it for providing or consuming data. Although this leads to a lack in automatically validating data that is send over the server, this approach allows for easily developing new widgets that use data of older ones. Listing 2.1 shows an excerpt of an example of a widget description. It contains three main parts, data, events and metadata. The data-block represents data a widget can accept from others (incoming) and that it can send to others (outgoing). This section is the most important and also the type of data and a description how it is sent out by the widget has to be provided. This is necessary to help other developers to process the incoming data in their widget. As also filters can be used to restrict data to a specific selection, an output can be bound to a filter-attribute. Filters shall 1. reduce amount of transferred data and 2. reduce of processing time of data. Especially the latter aspect is important as for example web applications based on JavaScript are still not as performant as desktop applications. This filter functionality requires a definition of the message that contains the information sent from one widget to another. In this message definition the type of filter that has been applied on the outgoing data has to be saved but is not focus of this report. Events can be defined to signalise that a special operation can be triggered, like updating the content. The metadatablock contains information like the developer’s name, a URI and several other tags that do not influence the data flow between widgets but which are important for providing widgets on the server.

Adress book Widget

Search Widget

MUPPLE group

all groups

all documents

Wolfgang Reinhardt Tobias Nelkner

Maps Widget

Network Visualization Widget

Video Chat Widget

Fig. 1. Exemplary use case for the application of WSDIL

Figure 1 shows an exemplary use case for the practical application of the WSDIL. Starting from a search widget, we can connect this widget with a video chat widget. As filter for the connection we select the person Wolfgang Reinhardt. This connection will allow a video chat with the selected person. Additionally we can drag the person Tobias directly in the video chat widget from the address


Tobias Nelkner and Wolfgang Reinhardt

book widget. Furthermore the self-description of the widgets enables to filter all documents from the search results and pass these data to a network visualization widget. From the address book widget we dropped all existing groups to the network visualization widget, what would enable the network visualization widget to create a clustered map of the given documents.


Discussion and Outlook

We are developing a specification language that describes widgets and its data input and output. This helps software developers to identify links for creating new widgets and therefore for easily providing pieces of functionality. Further research has to be done in integrating the W3C widget specification as a base for describing the static aspects of the widget. This is challenging as we do not exclude desktop applications as widgets that do not have a surrounding runtime environment like Apple’s Dashboard. Furthermore, it could make sense that the widget server runs the filter processes described in the WSDIL but therefore the server had to read every message before forwarding it. Hence, performance problems could arise. Another technical problem is, in which way drag and drop operations between widgets shall be handled with respect to the input and output specifications in the WSDIL. How can be ensured that only data is transmitted described in the WSDIL? One possibility would be sending the data from one widget to another over the server anyway and ignoring the data transmitted during the drag and drop, although this is not very efficient. It is necessary to define a specification like WSDIL but the development of interacting widgets obviously introduced many challenging problems in the creation of a personal learning environment.

1. Marcos C´ceres. Widgets 1.0: Packaging and configuration. http://www.w3.org/ a TR/widgets/, retrieved 2009-07-24, 2009. 2. T. Nelkner. An infrastructure for intercommunication between widgets in personal learning environments. In Second World Summit on the Knowledge Society, 2009, in press. 3. T. Nelkner, J. Magenheim, and W. Reinhardt. Plme as a cognitive tool for knowledge achievement and informal learning. In A. Tatnall and A. Jones, editors, WCCE 2009, IFIP AICT, volume 302, pages 378–387, 2009. 4. U. Riss, H.F. Witschel, R. Brun, and B. Th¨nssen. What is organizational knowledge o maturing and how can it be assessed? In IKnow, 2009, in press. 5. Richard Snodgrass. The Interface Description Language: Definition and Use. W.H. Freeman, 1989. 6. W3C. Web services description language (wsdl) version 2.0. http://www.w3.org/ TR/wsdl20/, retrieved 2009-07-23, 2009. 7. WSBPEL Technical Committee. Web services business process execution language version 2.0. http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.html, retrieved 2009-07-23, 2009.

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.