WebByPhone

code directory
code(tar.gz format)

Xin Jin
SEAS, Columbia University
xj7@columbia.edu

Contents

Abstract
Related_Work
Architecture
Modules
Program_Functionality
Program_Notes
Tasks
References

Abstract

The need for a sound webbrowsing tool is necessary for people who want to access the web but only have telephone at hand.
Blind people also need such a tool.
We have built a sound-web-browser, which supports much of what lynx supports.
Using a phone with a keypad, users can dial up to the modem, press in web addresses and browsing commands, and listen to the reading of webpages and instructions.
Programs built:
A local sound webbrowser for local testing/use: webtosound. Enter commands at stdin, hear sound through speaker
A sound webbrowser server for remote dial-up: server. Enter commands using keypad, hear sound through handset.

Related Work

Email by phone. Click
here

Architecture

        telephone

         |  ^
     DTMF|  |
         |  |voice
         |  |
         V  |

         T-311

         |  ^
    ASCII|  |
         |  |voice
         |  |
         V  |


        work-                        webpage dump
         station (where server runs) ------------->   tts
                                         voice
                                     <------------
         |  ^
         |  |
commands |  | webpage dump
         V  |
         LYNX


The architecture is very straightforward and simple.
T-311 is Teltone's Telephone Access Unit.
tts is Bell Lab's text-to-speech system.
Lynx is a text web browser.

Modules

Program Functionality:

The web-by-phone service supports the following functionality:

Program Notes

Tasks

First Stage

1. Feb. and Mar., investigate tts and the telephone gateway: go to the instrustor's office hour to discuss hardware and software tools to use.
2. Mar 28, the program is able to read from the modem and issue commands to the modem and answer the calls just like what "tip" can do.
2. Mar 30, the program is able to read from the caller an non-ip-address web-address.
3. Next task, how to play audio through the modem?
4. April 1st, found out how to play audio through the modem.
5. April 2nd, started to use "tts" to convert a text dump from lynx into sound, and work on data structure to handle html link traversing. lynx is too large a piece of code to delve into. Text dump from lynx is a good enough starting point to further html text processing to suit the peculiarities of "tts": part of html text uses "visual grammar"(for example, "list" in html) instead of regular grammar. "tts" needs regular phrase/sentence breakers such as "," and "." to control its reading speed. so I have to insert some .'s into the text dump. also I need to remove [*] before all links, remove all "References" from the text dump and build the current URL data structure.
6. April 5, all sound browsing functionalities are implemented and tested locally.
7. April 6, clean up the sound browsing module to prepare for integration with modem-communication module; project near completion!
7. April 6, completed integration.
8. To do: functionality, robustness, user-friendliness improvement.
9. April 7, functionality improvement: handle more character set from telephone keypad.web addresses of a more general form are accepted: (character sets [0-9], [:.*/#~:], [A-Z] [a-z], do we need more?)
robustness improvement: more error condition handling.
user-friendliness improvement: step-by-step help installed.
10. April 15, wrapping up and writing the project report.

Second Stage

11. Sought feedback from professor about the above implementation, and decided on investigating incorporating speech recognizer as an address/command input method. Also will work on ftping and playing cool sound files later. 12. Apr 17. Concluded that it is technically difficult and functionally awkward to implement voice recognition: no available software; voice is definitely not case-sensitive.
13. So left to do: ftping and play sound files, history list. 14. Apr. 18, finished implementing ftping and playing .au files and history list, and tested locally. To-do, test thru modem. Improved keypad scheme: special key sequence to add "www", "edu" and etc.

15. Apr. 20: finished testing thru modem. Improved keypad scheme by adding backspace/erase character. Improved user-friendliness: read out characters as the user typed them in as web address; wrong input is ignored, which is also audially indicated.
16. Done!!!
17. Wishes: better keypad scheme for entering webaddress. Use auto expansion by matching keypad input to a list of possible top web domain names. But limitation of the telephone keypad will still remain the major inconvenience of WebByPhone even with the above auto expansion implemented.

References

1.
Teltone Reference Manual: T-311 Telephone Access Unit
2. Advanced Programming in the Unix Environment, Richard Stevens, 1993.
3. Bell Lab text-to-speech system
4. Lynx

Last updated: Apr. 8, 1998 by Xin Jin