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
emacspeak-webspace
.
Conceptually, it consists of smart fetchers that fetch
information asynchronously from the Web, and smart
displayers
that communicate this information at appropriate times.
These are detailed below.
Fetchers
There are two fetchers at present:
- Weather
- Fetches current weather conditions for your location.
- News
- 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
Emacspeak.
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:
- Interaction-Free
- 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 emacspeak-webspace
at
present:
- Weather
- Activate weather display in the
calendar
andscratch
buffers. - News
- Activate feed headlines in selected
shell
buffers.
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
hyper-space
emacspeak-webspace-headlines
:hyper-space h
emacspeak-webspace-weather
hyper-space w
Share And Enjoy, And May The Source Be With You!