Friday, August 31, 2007

Emacspeak And GMail

See this article by my Google colleague Srinivas Annam that outlines the availability of GMail Filters from the basic HTML interface. This was the final piece that remained to convince me to use my GMail account for email --- now, keeping the GMail Inbox clean and free of clutter has become a snap.

To go with this, I've added a few smart URL templates to Emacspeak's Web Command Line. Once you've signed in, you can use template GMail Search to type a search term, and find matching mesages. Note that GMail uses CSS class msg to tag the actual contents of a message. You can use this to advantage by hitting e c on a message link, and specifying msg as the class value to filter the message.

At some point I'll add a couple of Emacspeak wizards for creating filters; the present HTML interface is still a bit too click intensive for my liking. But cudos to Srinivas for doing the hard work that lets me discover the pain points in the HTML interface; until now these were completely invisible to me since I couldn't use GMail from the Emacspeak environment.

Emacs/W3 note: Note that signing in to GMail from the main GMail screen defeats W3. An easy work-around, and something that is more efficient anyway is to use the glogin.xml form found in Emacspeak --- use C-e ?/ in Emacspeak to pick that form. Once you're signed in to Google, you can:

  • Open your inbox
  • Perform searches to find the message you want

Friday, August 17, 2007

AMixer And Emacspeak: Controlling The Sound Card

In the days of OSS, Emacspeak had a nice Emacs-interface to aumix and it is a piece of functionality that I have missed even more under ALSA, given that one can do many more sophisticated tweaks to one's sound-card. Tool alsamixer --- a full-screen terminal application is bewilderingly confusing (at least to me), and amixer though usable required me to go find out how it worked each time I needed to do something new. The final straw came last weekend when I tried to record some Emacspeak demos using recordmydesktop and needed to configure ALSA so that it would capture sound directly from the PCM output, rather than the microphone.

To cut a short story even shorter, I ended up writing an Emacs wrapper around amixer called --- well, you guessed it, amixer. The code is checked in as amixer.el. The Emacspeak keybinding C-e ( formerly used to manipulate aumix is now ALSA-aware and will intelligently default to using the new amixer tool if /usr/bin/amixer is available.

Tuesday, August 07, 2007

The Web The Way You Want

While working on miscellaneous Web related things including:

  • Working on the W3C TAG in trying to understand how HTML TagSoup and well-formed markup might co-exist on the Web --- without the bad perennially driving out the good,
  • Thinking about the Web Command Line, and placing various Web gadget/widget technologies in perspective,
  • Building Emacs-G-Client --- an Emacs client for Google services,
  • Connecting Emacs and Firefox via MozREPL to get the best of both worlds ,
  • Refactoring some of the Web-related code in Emacspeak to better reflect the underlying ideas,
  • Adding additional Web goodies to Emacspeak including Google Suggest in the Emacs minibuffer,
  • And items too numerous to fit in this margin ...

I also wrote a draft chapter on specialized Web browsing. Given the set of things I have been working on, the end result is to point out that given the architecture and underlying design principles of the Web as embodied by HTTP, URIs and HTML, specialized Web browsing is in fact not so specialized after all.

Thursday, August 02, 2007

Google Suggest: Minibuffer Completion When Googling

Google Suggest has been available until now as a Firefox extension --- it displays a dynamically generated list of completions as one does Google searches in Firefox. The prefered way of Googling on the Emacspeak audio desktop --- using Emacspeak's Websearch facility available via C-e ? is now Google-Suggest enabled. This means that when doing Google searches via C-e ?g, you can type a partial query, and hit TAB to get a list of possible completions for the query.