Self
Interests
Work
Photos
Contact
Power Browser: Efficient Web Browsing for PDAs

I have designed and implemented new Web browsing facilities to support effective navigation on Personal Digital Assistants (PDAs) with limited capabilities: low bandwidth, small display, and slow CPU. The implementation supports wireless browsing from 3Com’s Palm Pilot. An HTTP proxy fetches web pages on the client’s behalf and dynamically generates summary views to be transmitted to the client. These summaries represent both the link structure and contents of a set of web pages, using information about link importance. I discussed the architecture, user interface facilities, and the results of comparative performance evaluations. I measured a 45% gain in browsing speed, and a 42% reduction in required pen movements.

Focused Web Searching with PDAs

The Power Browser project addresses the problems of interacting with the World-Wide Web through wirelessly connected Personal Digital Assistants (PDAs). These problems include bandwidth limitations, screen real-estate shortage, battery capacity, and the time costs of pen-based search keyword input. As a way to address bandwidth and battery life limitations, I provide local site search facilities for all sites. I incrementally index Web sites in real time as the PDA user visits them. These indexes have narrow scope at first, and improve as the user dwells on the site, or as more users visit the site over time. I addressed the keyword input problem by providing site specific keyword completion, and indications of keyword selectivity within sites. The system is implemented on the Palm Pilot platform, using a Metricom radio link. I described the user level experience, and then present the analyses that informed our technical decisions.

Accordion Summarization for End-Game Browsing on PDAs and Cellular Phones

I demonstrated a new browsing technique for devices with small displays such as PDAs or cellular phones. I concentrated on end-game browsing, where the user is close to or on the target page. I made browsing more efficient and easier by Accordion Summarization. In this technique the Web page is first represented as a short summary. The user can then drill down to discover relevant parts of the page. If desired, keywords can be highlighted and exposed automatically. I discuss our techniques, architecture, interface facilities, and the result of user evaluations. I measured a 57% improvement in browsing speed and 75% reduction in input effort.

Seeing the Whole in Parts: Text Summarization for Web Browsing on Handheld Devices

I introduced five methods for summarizing parts of Web pages on handheld devices, such as personal digital assistants (PDAs), or cellular phones. Each Web page is broken into text units that can each be hidden, partially displayed, made fully visible, or summarized. The methods accomplish summarization by different means. One method extracts significant keywords from the text units, another attempts to find each text unit's most significant sentence to act as a summary for the unit. We use information retrieval techniques, which we adapt to the World-Wide Web context. We tested the relative performance of our five methods by asking human subjects to accomplish single-page information search tasks using each method. We found that the combination of keywords and single-sentence summaries provides significant improvements in access times and number of pen actions, as compared to other schemes.

Efficient Web Form Entry on PDAs

We propose a design for displaying and manipulating HTML forms on small PDA screens. The form input widgets are not shown until the user is ready to fill them in. At that point, only one widget is shown at a time. The form is summarized on the screen by displaying just the text labels that prompt the user for each widget's information. The challenge of this design is to automatically find the match between each text label in a form, and the input widget for which it is the prompt. We developed eight algorithms for performing such label-widget matches. Some of the algorithms are based on n-gram comparisons, while others are based on common form layout conventions. We applied a combination of these algorithms to 100 simple HTML forms with an average of four input fields per form. These experiments achieved a 95% matching accuracy. We developed a scheme that combines all algorithms into a matching system. This system did well even on complex forms, achieving 80% accuracy in our experiments involving 330 input fields spread over 48 complex forms.

Exploiting geographical location information of web pages

Many information sources on the web are relevant primarily to specific geographical communities. For instance, web sites containing information on restaurants, theatres and apartment rentals are relevant primarily to web users in geographical proximity to these locations. I make the case for identifying and exploiting the geographical location information of web sites so that web applications can rank information in a geographically sensitive fashion. For instance, when a user in Palo Alto issues a query for ''Italian Restaurants,'' a web search engine can rank results based on how close such restaurants are to the user's physical location rather than based on traditional IR measures. Here, I first consider how to compute the geographical location of web pages. Subsequently, I consider how to exploit such information in one specific ''proof-of-concept'' application I implemented in JAVA.

Efficient Query Subscription Processing in a Multicast Environment

This work introduces techniques for reducing data dissemination costs of query subscriptions. The reduction is achieved by merging queries with overlapping, but not necessarily equal, answers. The work formalizes the query-merging problem and introduces a general cost model for it. We proved that the problem is NP-hard and propose exhaustive algorithms and three heuristic algorithms: the Pair Merging Algorithm, the Directed Search Algorithm and the Clustering Algorithm. I developed a simulator for evaluating the different heuristics and show that the performance of our heuristics is close to optimal.

Web Spider

The web spider is an application program that scans web pages for a given root URL location. The spider generates a graphical representation of a particular domain of the web space indicating the path and links. It also extracts data from these web pages and gives the pages that seem more important, depending on the number of links to that page.

The black lines indicate the path used while traversing the pages. The green lines indicate links to pages visited previously. Finally the red lines indicate links to pages at other external locations. The graphic can be viewed both in 2D and 3D. In order to obtain a three dimensional representation, the graphic is mapped on an ellipsoid.

The locations are visited using breadth first search so that links closer to the root are visited first. The scanning ends when all pages have been visited or the stop command is selected.

This program was developed using Visual C++ 5.0 and runs in Windows operating system.


Sample output for http://www.cs.stanford.edu/


Number of links=48
Hot links:
http://www.cs.stanford.edu/Admissions/admissions.html (34)
http://www.cs.stanford.edu/Info/info.html (31)
http://www.cs.stanford.edu/Courses/classes.html (31)
http://www.cs.stanford.edu/Events/events.html (30)
http://www.cs.stanford.edu/Research/research.html (30)
http://www.cs.stanford.edu/People/people.html (30)
http://www.cs.stanford.edu/Degrees/degrees.html (30)
http://www.cs.stanford.edu/Publications/publications.html (30)
http://www.cs.stanford.edu/Info/webmasters.html (30)
http://www.cs.stanford.edu/Research/interests.html (30)
http://www.cs.stanford.edu/Research/divisions.html (30)
http://www.cs.stanford.edu/Research/projects.html (30)

Simple Radiosity for Polyhedral Objects

In this project I considered the radiant-energy interactions between all surfaces in a scene by implementing an environment consistent with my computer resources to develop a radiosity system.
The form factors are calculates by using the Cubic Tetrahedral Form Calculation method. First the delta form factors are calculated are stored in memory. In order to solve the form factor problem for overlapping surfaces, a unique identifier is assigned to each polygon in the environment. A depth buffer is used and the depth array is initialized to infinity. As each visible polygon is projected onto the tetrahedral, its depth at each covered tetrahedral cell is compared with the current depth array entry. If it is closer than the current depth, the entry is updated and the polygon identifier is stored. When all the polygons in the environment have been considered, the item buffer is scanned and for each polygon the form factor is calculated.




Particle Mechanics

A program implemented with educational purposes concerning particle movements. This program helps students to create an artificial environment where they can set particles and analyze their behaviors. It provides help on topics, sample problems, example movies, a simulator and a graphical analysis option.

Gas Diffusion

An application program that simulates the motion of gas molecules in a closed vessel considering the temperature and the case in which gases are separated by a wall having a small hole on it and showing the diffusion of gases from a closed region through the hole.

Natural Language Processing - Text To Speech Synthesis for Turkish

Speech synthesis is the process which allows the transformation of a string of phonetic and prosodic symbols into a synthetic speech signal. A text-to-speech (TtS) system is a speech generator, a device or a piece of software which is capable of producing signals that sound like human speech. In this project a text-to-speech synthesis system for Turkish is implemented.
Click here to download:
Turkish Text-to-Speech for Windows'95


Automata Theory - Finite State Simulator

An application program capable of simulating deterministic and non-deterministic Turing machines and tapes.
The program was implemented in Windows environment using Visual Basic.



BACK


April 1, 2001