In this poster, we describe WOOD (Web-based Object-oriented Desktop) which is a web-based personaliza tion information system. It provides various types of application components to help users gather and manipulate information over the Internet effectively. Components, with different capabilities ranging from fetching from search engines to getting latest stock quote or even to clip part of a web pages, are available to the users. Users can add and layout those components in their personal page with WOOD as if they were working in the local window operating system. Since WOOD is designed to be open and extensible, third party developers can easily develop their own components and plug into WOOD. This poster briefly describes the architecture and the prototype implementation of WOOD.
Information Retrieval, Personalization, Web applications, User Interface
Let's think about the following scenario. You go online in the morning. You would like to read the news headlines in the CNN and The New York Times web sites. Besides, you would like to check your stock portfolio and bank accounts at your online financial services provider web sites to determine whether you should change your investment strategy. After that, you would also like to check out for the weather forecast, entertainment and sport news, the updates of your research fields and your book order status at Amazon. You quickly find that you visited over more than a dozen of sites and these are just routine actions. It is just too time-consuming to go over each of them every morning. What you need is a nice page which contains all of those information.
Personalized information systems, such as [1], [2], [3] and [4], try to resolve the above problem. They provide hundreds of information components about news, stock quotes or calendar. Users are also able to layout their modules on their own pages so as to build a personal information search page. There are also researches using component model to build web applications for the users, such as [5] and [6].
WOOD is also a personalized information system which has several improvements over these systems:
WOOD is divided into a number of modules. They are Member module, Desktop constructor, Windowing modu le, Component base class and Scheduler. Figure 1 shows the high level overview of t he system architecture of WOOD.
Figure 1: Architecture overview of WOOD
Components are the core and building blocks of WOOD. They implement different functions ranging from simple weather report to a sophisticated stock quote analyzer. They have to conform to the component requirements imposed by WOOD. These requirements are based on the WOOD's mechanism in handling component Instantiation, scheduling and Presentation. These requirements are specified as a set of API that a component should implement. In practice, the Component base class implements all necessary API with default actions. All components are required to subclass from the component base class. Those APIs include:
Currently, we have four major types of components:
Windowing subsystem handles all the display functionalities for the components. It generates the window view in purely HTML code, Javascript and CSS. The component windows can then be viewed by popular graphical web browser without the requirement of any plug-in or Java applet support. It consists of two parts: one on the server side and one on the client side. The former handles the generation of HTML code and the latter handles the user actions and windows operations.
Scheduler is a standalone module that will wake up components and signal them to run their specific tasks in scheduled time. The components of WOOD are passive in nature. They only work and perform processing when requested by the system. There are, however, many tasks should be done in a timely fashion. It may take too long and make the response time unacceptable resulting in user frustration in these cases. Another reason is that there are tasks that need to be done periodically or in a specific time.
We built the prototype implementation of WOOD with several modules developed, for instance, Wrapper, MetaAgent (metasearch components), Newspaper agents and Encyclopedia components. Figure 2 is a typical screenshot of WOOD in action.
Figure 2: WOOD in action
This project is supported in part by a grant from the Hong Kong's Research Grant Council #CUHK 4407/99E.