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.
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.Sample output for http://www.cs.stanford.edu/
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.
Number of links=48
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.
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.
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.
Automata Theory - Finite State Simulator
Click here to download:
Turkish Text-to-Speech for Windows'95
An application program capable of simulating deterministic and
non-deterministic Turing machines and tapes.
The program was implemented in Windows environment
using Visual Basic.
April 1, 2001