A few months ago, I started an Emacspeak module called
emacspeak-webspace that is now ready for wider use.
The goal of this module is to unobtrusively fetch useful
information from the Web and communicate it at those times that
one is context-switching among tasks.
I gave a talk on user interaction at the last
Hackers Conference in
November; in the same session, there was another talk whose gist
was a plea for less human-computer interaction ---
motivation: User Interfaces are nice, but wouldn't it be nice if
one didn't have to explicitly interact with the machine
to get information?
The speaker coined the term Zen interfaces in that
context, something that stuck in memory long after the talk.
I built that thought into module
Conceptually, it consists of smart fetchers that fetch
information asynchronously from the Web, and smart
that communicate this information at appropriate times.
These are detailed below.
There are two fetchers at present:
- Fetches current weather conditions for your location.
- Fetches headlines from a customizable collection of ATOM and RSS feeds.
Note that this module is not intended to be an RSS or ATOM
feed-reader; for that, use module
greader --- an
API-based Google Reader client that is bundled with
Communicating Useful Information Usefully
With the information in hand, the next question is how does one communicate this information usefully, and what does at the appropriate time mean? Things to avoid:
- Do not require explicit user action to hear the information.
- Avoid Chatter
- Avoid creating an auditory user interface that chatters at the user all the time.
These are conflicting constraints. Notice that in a visual interface, one can meet the interaction-free requirement by displaying the information in a toolbar or sidebar and allow the user to ignore or absorb the information at will.
Emacspeak uses Emacs' header-line to display the continuously updating information. This meets the interaction-free requirement. The header line updates every time Emacs updates its display, and automatically speaking it would produce too much feedback. But Emacspeak doesn't automatically speak the header-line; it only speaks it when there is a context-switch.
How To Use
Here is how I am using
- Activate weather display in the
- Activate feed headlines in selected
You hear the updated information when switching to buffers where the webspace display is active.
Activating WebSpace Displays
Webspace displays are activated via the following commands;
all Webspace displays will be placed by default on prefix key
Share And Enjoy, And May The Source Be With You!