Personal Information Desktop
Department of Computer Science and Engineering
Chinese University of Hong Kong
Shatin, Hong Kong
In this poster, we present our experience in the Information Desktop project which builds tools to help user to manage information effectively over the Internet. Personal Information Desktop (PID) is the final tool built through the evolution of the project. It is useful because it brings information from homogeneous and heterogeneous sources to users through a unified interface by set of information components. It keeps users away from routine browsing while providing information manipulation capabilities at the same time. It tries to automate the fetching, processing and delivering information from Web sources seamlessly. Besides, we categorize the information components based on their similarities. We will present the design and implementation in details.
Information Retrieval, Personalization, Web applications, User Interface
Let's think about your daily Web browsing habit. You go online in the morning. You would like to search for articles about "Yamaha guitars". You would like to read the news headlines in the CNN and The New York Times web sites. There are many more things you would like to check out, e.g. 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. They are information sources of many different types. The browsing tasks through these Internet sources performed are repeated regularly. They are repetitive, time-consuming and inefficient. Hence, what you need is a tool that helps to organize and manipulate different information sources into a single unified interface automatically.
Our Information Desktop project aims at building such a tool which helps manage information effectively. Last year, we built the Web-based Object-Oriented Desktop (WOOD). WOOD  is a personalized information system like  and . It provides a platform for developers to build hundreds of information components. Each information component basically fetches information from sources, processes the information and delivers the information to the user. Each user will have his own personal page which contains many small windows showing the information brought by components. Users are also able to layout their components' windows on their own pages freely to build their own information desktop.
2. Personal Informtion Desktop (PID)
WOOD is an effective tool to help user to manage information through a component model platform. However, it suffers performance problem when scaling up from handling few users to thousands of users because of its server based architecture. Since all the components are executed at the WOOD server, the processing of the components will put a heavy load on the server. Due to the performance bottleneck of WOOD server based architecture, we redesign the system architecture. This leads to another version -- PID (Personal Information Desktop). It inherits the component concepts from WOOD but it is of client, distributed based architecture. Every user needs to install a PID client program. Every component is stored and executed at the PID client program thus there is no need for a centralized server. They fetch and process information at the client program. User can now directly interact with the components at local computer rather than remote server.
Figure 1 PID
The advantages of PID include:
- Fully customizable: User can download only components that fits his information needs to the client program. Thus, only desired information will be fetched, processed and delievered for the user.
- Open and extensible: With the open, built-in core libraries, developers can implement their own invaluable components and make it available for users quickly and ready.
- Information processing and component collaboration: In PID, some of the components contain post-processing capabilities. They take the information shared by other components and apply different processing. They are also able to collaborate with each others. For example, the clipping component which clips the image will work with the flipping component to complete flipping task.
2.1 Internet information sources
Information comes from sources over the Internet. When getting information over the Web, we may look for internet sources that are homogeneous. For instance, we may check with several digital libraries for a ebook. Besides, we look for sources that are heterogeneous too. We aggregate the information from different types of sources. For example, when planning a business trip, we may need to check with different web sites including hotels, air tickets and bus, etc. Component in PID tries to automate the fetching, processing and delivering information from all these Internet information sources seamlessly.
2.2 Software architecture
Figure 2 Architecture overview
Component are downloaded from Component Database based on user's selection (1). Each client keeps the detail information of downloaded components , e.g. version of the component. The client will check the component listing on the Component Database against its record for new components. New component is retrieved through HTTP from the database server. They are saved in a specific directory which all the component are stored. They will then be dynamically loaded into the client so that they can be executed instantly.
The components are loaded dynamically when the client starts up. They are executed within the client. They connect the remote information sources directly from user computer to retrieve information. The information is finally analyzed and presented to the user at the client.
Figure 3 PID client
3. COMPONENT CATEGORIZATION
To acquire information from those heterogenous sources, each component may have common techniques so as to fetch, process and deliver the information. We discover that there are certain design patterns among the components. Based on those patterns, we categorize some of them. The categoization is useful so that we can develop specialized utilities for each of the category of components. Moreover, by understanding those categories, developer can easily refer to previous example in the same category with the component he is going to built. It can certainly speed up the development process.
The categories include source interaction, user interaction, source type, user-tracking capability, security and application service. They are illustrated in the following table:
|1||Source Interaction||Single database||Fetch information from only a single database||Search Wrapper for Google|
|Multiple database||Fetch information from two or more databases||MetaAgent (metasearcher)|
|2||User Interaction||Need user decision to complete a task||Image Editor|
|3||Dynamic Source||Dynamic source||Information from source whose content changes over time||Stock quote agent|
|Hybrid(single+dynamic)||Information from both dynamic and static sources||Movie agent|
|4||User profile tracking||Keep track of user actions or preference||Horoscope|
|5||Security enabled||Security measure enabled to protect user's data||eBanking component|
|6||Application service||Usually do not fetch information but act as tool||Image Editor|
Along the Information Desktop project, we built better tool to help user to manage information efficiently and effectively over the Internet. The tool brings user information from homogeneous to heterogenous sources.
Future works include more detailed performance experiements and user studies. More components with different funtionalities will also be implemented.
This project is supported in part by grants from the Hong Kong's Research Grants Council (RGC) under CUHK 4407/99E and #2050259.
- Chan, Cheukyin. WOOD - Web-based Object-Oriented Desktop. Tenth International World Wide Web Conference, 2001.
- MyYahoo!. http://my.yahoo.com
- OnePage.com. http://www.onepage.com