Wednesday, August 20, 2008

Emacspeak-WebSpace Just Got A Lot Faster

In Praise Of Google AJAX APIS

New module gfeeds.el (part of Library g-client) now implements a Lisp interface to the Google AJAX FeedSearch API. An immediate consequence of this is that module Emacspeak-WebSpace just got orders of magnitude faster --- not that it was slow to start with:-)

Feed And Enjoy!

Thursday, August 14, 2008

In Praise Of The Google Search AJAX API

In Praise Of The Google AJAX Search API

Emacspeak has always provided Google Search with a single keystroke from anywhere on the audio desktop. But with the coming of the Google AJAX Search API it becomes possible to integrate Google Search at a far deeper level into your fingertips! The AJAX API demonstrates the true speed of Google Search, since you dont need to wait for an HTML page to download and render --- results are served as a light-weight JSON data structure.

What You Can Now Do

Module gsearch (part of the g-client package) provides an interactive command gsearch-google-at-point --- I have this bound to key hyper-/ in Emacs. Executing this command from anywhere inside Emacs does the following:

  • Grabs word under point, and prompts in the minibuffer for a search-term --- with the word we just grabbed as the default.
  • Fetches other relevant search terms in the background via Google Suggest, and makes these available via Emacs' minibuffer history mechanism. Use keys M-n and M-p to cycle through these if needed.
  • Hitting ENTER performs a Google Search using the AJAX API, and displays the title and content snippet for the first search result.
  • Executing command gsearch-google-at-point subsequently at the same location opens the first search result.

Search And Enjoy!

Friday, August 01, 2008

Tutorial: Enhancing Web 2.0 Usability Using AxsJAX

You can watch a video of the tutorial Charles and I gave as part of the Google Open Source series on July 14. Emacspeak users can play the video by pressing e e on the above link and specifying emacspeak-m-player-youtube-player when prompted.


Google is the Web's premier creator of user-friendly Web 2.0 applications, and I have long viewed it as part of our mission to do for users in the long tail (AKA users with special needs) what we've achieved for the mainstream user. Accessibility 2.0 is now a hot topic on the Web --- and we would like to move from a world where AJAX applications were a straight No-No with respect to blind users to a world where these same technologies are used to enhance their usability for everyone.

Google-AxsJAX is an Open Source framework for injecting accessibility for users with special needs --- and more generally, usability enhancements --- into Web 2.0 applications. In this TechTalk, Charles Chen and I give a hands-on tutorial on using AxsJAX to enhance the usability of Web 2.0 applications. The tutorial covers the following:

  • A brief introduction to the additional opcodes introduced by W3C ARIA to the assembly language of the Web (AKA HTML+JavaScript).
  • AxsJAX library abstractions built on the above that help Web developers generate relevant feedback via the user's adaptive technology of choice.
  • Steps in creating fluent eyes-free interaction to Web applications, including enabling rapid access to parts of a complex Web page.

This tutorial focuses on solutions we've already built and deployed both within shipping products and as early end-user experiments. Google products that we will cover include:

  • Google WebSearch
  • Google Reader
  • Google Books
  • GMail and Google Talk
  • Google Scholar
  • Google Sky

And time permitting, we might even demonstrate how I now make up for all the time I save thanks to an efficient eyes-free auditory user interface by playing JawBreaker and reading XKCD via their AxsJAXed versions.

Note that writing AxsJAX enhancements to Web applications can help you win bragging rights and cool swag! The goal of this hands-on tutorial is to help you get there faster!