Monday, February 07, 2011

Emacspeak: In Praise Of The Bookshare API

Bookshare recently released a light-weight API that enables one to implement custom Bookshare clients. Though Bookshare is fully accessible using either Emacs/W3 or Emacs/W3M from within the Emacspeak desktop, browser based interaction often involves more clicks than are absolutely necessary to finish the task at hand.

Welcome module emacspeak-bookshare, a fully integrated Bookshare client for the Emacspeak desktop. Module emacspeak-bookshare provides a special Bookshare Interaction mode that provides single keystroke commands for searching, downloading and viewing Bookshare materials from within the comfort of the Emacspeak desktop.

Module Emacspeak-bookshare is now checked into SVN, and will be bundled as part of the next Emacspeak release.To learn how to use Bookshare Interaction on the audio desktop, see command emacspeak-bookshare; to view the help for Bookshare Interaction, invoke command describe-mode within the Bookshare Interaction buffer.

Read and Enjoy!

is

Tuesday, December 21, 2010

Silence Is Golden

Speech is silvern --- but silence is golden! In the spirit of the above, I just added command emacspeak-silence to Emacspeak. You can bind this command to your favorite key for silencing all audio output on the complete audio desktop --- including any active media streams.

What This Does

Command emacspeak-silence stops speech by calling dtk-stop. It then runs commands placed on emacspeak-silence-hook. Each media player defined by Emacspeak updates hook emacspeak-silence-hook with an appropriate action that pauses or resumes that player.

I've also updated the keymaps in tvr/console-keymaps to set up the windows key on the console to produce [silence], and bound command emacspeak-silence to [silence] in emacspeak-keymap.el.

The net effect is that if you use those console maps, you can just hit the windows key whenever you want to silence all audio output; pressing it again will resume any media streams you had active.

Share And Enjoy --- and here's wishing our Press/Analyst contact a very Happy 13th Birthday --- mark it with a palindromic moment at 010212212010 i.e., Tue Dec 21 01:02:15 PST 2010

Wednesday, November 24, 2010

Emacspeak 33.0 (StarDog) Unleashed!

Emacspeak 33.0 --- StarDog --- Unleashed!

1 Emacspeak-33.0 (StarDog) Unleashed!

1.1 For Immediate Release:

San Jose, Calif., (Nov 24, 2010) Emacspeak: Bringing Cloud Access From The Stars -- Zero cost of upgrades/downgrades makes priceless software affordable!

Emacspeak Inc (NASDOG: ESPK) --http://emacspeak.sf.net-- announces the immediate world-wide availability of Emacspeak 33.0 (StarDog) -- a powerful audio desktop for leveraging today's evolving data, social and service-oriented Web cloud.

1.2 Investors Note:

With several prominent tweeters expanding coverage, NASDOG: ESPK has now been consistently trading over the net at levels close to that once attained by DogCom high-fliers --- and as of October 2009 is trading at levels close to that achieved by once better known stocks in the tech sector.

1.3 What Is It?

Emacspeak is a fully functional audio desktop that provides complete eyes-free access to all major 32 and 64 bit operating environments. By seamlessly blending live access to all aspects of the Internet such as Web-surfing, blogging, social computing and electronic messaging into the audio desktop, Emacspeak enables speech access to local and remote information with a consistent and well-integrated user interface. A rich suite of task-oriented tools provides efficient speech-enabled access to the evolving service-oriented Web cloud.

1.4 Major Enhancements:

  1. Updated URL Templates for rapid Web access. ♁
  2. Support for twittering-mode --- including logins using OAuth. ●
  3. Updated Google docs support enables publishing from org-mode. ○
  4. Enhanced BBC iPlayer support ☢
  5. Emacs 24 support ♺

Plus many more changes too numerous to fit in this margin ∞

1.5 Establishing Liberty, Equality And Freedom:

Never a toy system, Emacspeak is voluntarily bundled with all major Linux distributions. Though designed to be modular, distributors have freely chosen to bundle the fully integrated system without any undue pressure --- a documented success for the integrated innovation embodied by Emacspeak. As the system evolves, both upgrades and downgrades continue to be available at the same zero-cost to all users. The integrity of the Emacspeak codebase is ensured by the reliable and secure Linux platform used to develop and distribute the software.

Extensive studies have shown that thanks to these features, users consider Emacspeak to be absolutely priceless. Thanks to this wide-spread user demand, the present version remains priceless as ever --- it is being made available at the same zero-cost as previous releases.

At the same time, Emacspeak continues to innovate in the area of eyes-free social interaction and carries forward the well-established Open Source tradition of introducing user interface features that eventually show up in luser environments.

On this theme, when once challenged by a proponent of a crash-prone but well-marketed mousetrap with the assertion "Emacs is a system from the 70's", the creator of Emacspeak evinced surprise at the unusual candor manifest in the assertion that it would take popular idiot-proven interfaces until the year 2070 to catch up to where the Emacspeak audio desktop is today. Industry experts welcomed this refreshing breath of Courage Certainty and Clarity (CCC) at a time when users are reeling from the Fear Uncertainty and Doubt (FUD) unleashed by complex software systems backed by even more convoluted press releases.

1.6 Independent Test Results:

Independent test results have proven that unlike some modern (and not so modern) software, Emacspeak can be safely uninstalled without adversely affecting the continued performance of the computer. These same tests also revealed that once uninstalled, the user stopped functioning altogether. Speaking with Aster Labrador, the creator of Emacspeak once pointed out that these results re-emphasize the user-centric design of Emacspeak; "It is the user -- and not the computer -- that stops functioning when Emacspeak is uninstalled!".

1.6.1 Note from Aster and Bubbles:

UnDoctored Videos Inc. is looking for volunteers to star in a video demonstrating such complete user failure.

1.7 Obtaining Emacspeak:

Emacspeak can be downloaded from Google Code Hosting -- see http://code.google.com/p/emacspeak/ You can visit Emacspeak on the WWW at http://emacspeak.sf.net. You can subscribe to the emacspeak mailing list emacspeak@cs.vassar.edu by sending mail to the list request address emacspeak-request@cs.vassar.edu. The StarDog release is at http://emacspeak.googlecode.com/files/emacspeak-33.0.tar.bz2. The latest development snapshot of Emacspeak is available via Subversion from Google Code Hosting at http://emacspeak.googlecode.com/svn/trunk/

1.8 History:

Emacspeak-33.0 AKA StarDog brings unparalleled cloud access to the audio desktop. Emacspeak 32.0 AKA LuckyDog continues to innovate via open technologies for better access. Emacspeak 31.0 AKA TweetDog --- adds tweeting to the Emacspeak desktop. Emacspeak 30.0 AKA SocialDog brings the Social Web to the audio desktop --- you cant but be social if you speak! Emacspeak 29.0 --- AKAAbleDog --- is a testament to the resilliance and innovation embodied by Open Source software --- it would not exist without the thriving Emacs community that continues to ensure that Emacs remains one of the premier user environments despite perhaps also being one of the oldest. Emacspeak 28.0 --- AKA PuppyDog --- exemplifies the rapid pace of development evinced by Open Source software. Emacspeak 27.0 --- AKA FastDog --- is the latest in a sequence of upgrades that make previous releases obsolete and downgrades unnecessary. Emacspeak 26 --- AKA LeadDog --- continues the tradition of introducing innovative access solutions that are unfettered by the constraints inherent in traditional adaptive technologies. Emacspeak 25 -- AKA ActiveDog -- re-activates open, unfettered access to online information. Emacspeak-Alive -- AKA LiveDog -- enlivens open, unfettered information access with a series of live updates that once again demonstrate the power and agility of open source software development. Emacspeak 23.0 -- AKA Retriever --- went the extra mile in fetching full access. Emacspeak 22.0 -- AKA GuideDog -- helps users navigate the Web more effectively than ever before. Emacspeak 21.0 -- AKA PlayDog -- continued the Emacspeak tradition of relying on enhanced productivity to liberate users. Emacspeak-20.0 -- AKA LeapDog -- continues the long established GNU/Emacs tradition of integrated innovation to create a pleasurable computing environment for eyes-free interaction. emacspeak-19.0 -- AKA WorkDog -- is designed to enhance user productivity at work and leisure. Emacspeak-18.0 -- code named GoodDog -- continued the Emacspeak tradition of enhancing user productivity and thereby reducing total cost of ownership. Emacspeak-17.0 -- code named HappyDog -- enhances user productivity by exploiting today's evolving WWW standards. Emacspeak-16.0 -- code named CleverDog-- the follow-up to SmartDog -- continued the tradition of working better, faster, smarter. Emacspeak-15.0 -- code named SmartDog -- followed up on TopDog as the next in a continuing a series of award-winning audio desktop releases from Emacspeak Inc. Emacspeak-14.0 -- code named TopDog -- was the first release of this millennium. Emacspeak-13.0 -- codenamed YellowLab -- was the closing release of the 20th. century. Emacspeak-12.0 -- code named GoldenDog -- began leveraging the evolving semantic WWW to provide task-oriented speech access to Webformation. Emacspeak-11.0 -- code named Aster -- went the final step in making Linux a zero-cost Internet access solution for blind and visually impaired users. Emacspeak-10.0 -- (AKA Emacspeak-2000) code named WonderDog -- continued the tradition of award-winning software releases designed to make eyes-free computing a productive and pleasurable experience. Emacspeak-9.0 -- (AKA Emacspeak 99) code named BlackLab -- continued to innovate in the areas of speech interaction and interactive accessibility. Emacspeak-8.0 -- (AKA Emacspeak-98++) code named BlackDog -- was a major upgrade to the speech output extension to Emacs.

Emacspeak-95 (code named Illinois) was released as OpenSource on the Internet in May 1995 as the first complete speech interface to UNIX workstations. The subsequent release, Emacspeak-96 (code named Egypt) made available in May 1996 provided significant enhancements to the interface. Emacspeak-97 (Tennessee) went further in providing a true audio desktop. Emacspeak-98 integrated Internetworking into all aspects of the audio desktop to provide the first fully interactive speech-enabled WebTop.

About Emacspeak:


Originally based at Cornell (NY) http://www.cs.cornell.edu/home/raman -- home to Auditory User Interfaces (AUI) on the WWW -- Emacspeak is now maintained on GoogleCode --http://code.google.com/p/emacspeak -- and Sourceforge -- http://emacspeak.sf.net. The system is mirrored world-wide by an international network of software archives and bundled voluntarily with all major Linux distributions. On Monday, April 12, 1999, Emacspeak became part of the Smithsonian's Permanent Research Collection on Information Technology at the Smithsonian's National Museum of American History.

The Emacspeak mailing list is archived at Vassar -- the home of the Emacspeak mailing list -- thanks to Greg Priest-Dorman, and provides a valuable knowledge base for new users.

2 Press/Analyst Contact: Hubbell Labrador

Going forward, BubbleDog acknowledges her exclusive monopoly on setting the direction of the Emacspeak Audio Desktop, and promises to exercise this freedom to innovate and her resulting power responsibly (as before) in the interest of all dogs.

**About This Release:


Windows-Free (WF) is a favorite battle-cry of The League Against Forced Fenestration (LAFF). -- see http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm for details on the ill-effects of Forced Fenestration.

CopyWrite )C( Aster and Hubbell Labrador. All Writes Reserved. LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered Dogmarks of Aster and Hubbell Labrador. All other dogs belong to their respective owners.

Author: T.V Raman

Date: 2010-11-24 08:43:55 PST

HTML generated by org-mode 7.01 in emacs 24

Wednesday, May 12, 2010

Emacspeak 32.0 (LuckyDog) Unleashed

Emacspeak 32.0 --- LuckyDog --- Unleashed!

1 Emacspeak-32.0 (LuckyDog) Unleashed!

1.1 For Immediate Release:

San Jose, Calif., (May 13, 2010) Emacspeak: Bringing tweet Access For social beings -- ;Zero cost of upgrades/downgrades makes priceless software affordable!

Emacspeak Inc (NASDOG: ESPK) --http://emacspeak.sf.net-- announces the immediate world-wide availability of Emacspeak 32.0 (LuckyDog) -- ;a powerful audio desktop for leveraging today's evolving data, social and service-oriented Web cloud.

1.2 Investors Note:

With several prominent tweeters expanding coverage, NASDOG: ESPK has now been consistently trading over the net at levels close to that once attained by DogCom high-fliers --- and as of October 2009 is trading at levels close to that achieved by once better known stocks in the tech sector.

1.3 What Is It?

Emacspeak is a fully functional audio desktop that provides complete eyes-free access to all major 32 and 64 bit operating environments. By seamlessly blending live access to all aspects of the Internet such as Web-surfing, blogging, social computing and electronic messaging into the audio desktop, Emacspeak enables speech access to local and remote information with a consistent and well-integrated user interface. A rich suite of task-oriented tools provides efficient speech-enabled access to the evolving service-oriented Web cloud.

1.4 Major Enhancements:

  1. Updated URL Templates for rapid Web access. ♁
  2. BBC iPlayer support ☢
  3. Updated EPub support ✍
  4. Emacs 24 support ♺

Plus many more changes too numerous to fit in this margin ∞

1.5 Establishing Liberty, Equality And Freedom:

Never a toy system, Emacspeak is voluntarily bundled with all major Linux distributions. Though designed to be modular, distributors have freely chosen to bundle the fully integrated system without any undue pressure --- a documented success for the integrated innovation embodied by Emacspeak. As the system evolves, both upgrades and downgrades continue to be available at the same zero-cost to all users. The integrity of the Emacspeak codebase is ensured by the reliable and secure Linux platform used to develop and distribute the software.

Extensive studies have shown that thanks to these features, users consider Emacspeak to be absolutely priceless. Thanks to this wide-spread user demand, the present version remains priceless as ever --- it is being made available at the same zero-cost as previous releases.

At the same time, Emacspeak continues to innovate in the area of eyes-free social interaction and carries forward the well-established Open Source tradition of introducing user interface features that eventually show up in luser environments.

On this theme, when once challenged by a proponent of a crash-prone but well-marketed mousetrap with the assertion "Emacs is a system from the 70's", the creator of Emacspeak evinced surprise at the unusual candor manifest in the assertion that it would take popular idiot-proven interfaces until the year 2070 to catch up to where the Emacspeak audio desktop is today. Industry experts welcomed this refreshing breath of Courage Certainty and Clarity (CCC) at a time when users are reeling from the Fear Uncertainty and Doubt (FUD) unleashed by complex software systems backed by even more convoluted press releases.

1.6 Independent Test Results:

Independent test results have proven that unlike some modern (and not so modern) software, Emacspeak can be safely uninstalled without adversely affecting the continued performance of the computer. These same tests also revealed that once uninstalled, the user stopped functioning altogether. Speaking with Aster Labrador, the creator of Emacspeak once pointed out that these results re-emphasize the user-centric design of Emacspeak; "It is the user -- ;and not the computer -- ; that stops functioning when Emacspeak is uninstalled!".

1.6.1 Note from Aster and Bubbles:

UnDoctored Videos Inc. is looking for volunteers to star in a video demonstrating such complete user failure.

1.7 Obtaining Emacspeak:

Emacspeak can be downloaded from Google Code Hosting -- ;see http://code.google.com/p/emacspeak/ You can visit Emacspeak on the WWW at http://emacspeak.sf.net. You can subscribe to the emacspeak mailing list emacspeak@cs.vassar.edu by sending mail to the list request address emacspeak-request@cs.vassar.edu. The LuckyDog release is at http://emacspeak.googlecode.com/files/emacspeak-32.0.tar.bz2. The latest development snapshot of Emacspeak is available via Subversion from Google Code Hosting at http://emacspeak.googlecode.com/svn/trunk/

1.8 History:

Emacspeak 32.0 AKA LuckyDog continues to innovate via open technologies for better access. Emacspeak 31.0 AKA TweetDog --- adds tweeting to the Emacspeak desktop. Emacspeak 30.0 AKA SocialDog brings the Social Web to the audio desktop --- you cant but be social if you speak! Emacspeak 29.0 --- AKAAbleDog --- is a testament to the resilliance and innovation embodied by Open Source software --- it would not exist without the thriving Emacs community that continues to ensure that Emacs remains one of the premier user environments despite perhaps also being one of the oldest. Emacspeak 28.0 --- AKA PuppyDog --- exemplifies the rapid pace of development evinced by Open Source software. Emacspeak 27.0 --- AKA FastDog --- is the latest in a sequence of upgrades that make previous releases obsolete and downgrades unnecessary. Emacspeak 26 --- AKA LeadDog --- continues the tradition of introducing innovative access solutions that are unfettered by the constraints inherent in traditional adaptive technologies. Emacspeak 25 -- ; AKA ActiveDog -- ; re-activates open, unfettered access to online information. Emacspeak-Alive -- ; AKA LiveDog -- ; enlivens open, unfettered information access with a series of live updates that once again demonstrate the power and agility of open source software development. Emacspeak 23.0 -- AKA Retriever --- went the extra mile in fetching full access. Emacspeak 22.0 -- ; AKA GuideDog -- ; helps users navigate the Web more effectively than ever before. Emacspeak 21.0 -- ; AKA PlayDog -- ; continued the Emacspeak tradition of relying on enhanced productivity to liberate users. Emacspeak-20.0 -- ; AKA LeapDog -- ; continues the long established GNU/Emacs tradition of integrated innovation to create a pleasurable computing environment for eyes-free interaction. emacspeak-19.0 -- ;AKA WorkDog -- ; is designed to enhance user productivity at work and leisure. Emacspeak-18.0 -- ;code named GoodDog -- ; continued the Emacspeak tradition of enhancing user productivity and thereby reducing total cost of ownership. Emacspeak-17.0 -- ;code named HappyDog -- ; enhances user productivity by exploiting today's evolving WWW standards. Emacspeak-16.0 -- ;code named CleverDog-- the follow-up to SmartDog -- ; continued the tradition of working better, faster, smarter. Emacspeak-15.0 -- ;code named SmartDog -- ;followed up on TopDog as the next in a continuing a series of award-winning audio desktop releases from Emacspeak Inc. Emacspeak-14.0 -- ;code named TopDog -- ;was the first release of this millennium. Emacspeak-13.0 -- ;codenamed YellowLab -- ; was the closing release of the 20th. century. Emacspeak-12.0 -- ;code named GoldenDog -- ; began leveraging the evolving semantic WWW to provide task-oriented speech access to Webformation. Emacspeak-11.0 -- ;code named Aster -- ; went the final step in making Linux a zero-cost Internet access solution for blind and visually impaired users. Emacspeak-10.0 -- ;(AKA Emacspeak-2000) code named WonderDog -- ; continued the tradition of award-winning software releases designed to make eyes-free computing a productive and pleasurable experience. Emacspeak-9.0 -- ;(AKA Emacspeak 99) code named BlackLab -- ; continued to innovate in the areas of speech interaction and interactive accessibility. Emacspeak-8.0 -- ;(AKA Emacspeak-98++) code named BlackDog -- ; was a major upgrade to the speech output extension to Emacs.

Emacspeak-95 (code named Illinois) was released as OpenSource on the Internet in May 1995 as the first complete speech interface to UNIX workstations. The subsequent release, Emacspeak-96 (code named Egypt) made available in May 1996 provided significant enhancements to the interface. Emacspeak-97 (Tennessee) went further in providing a true audio desktop. Emacspeak-98 integrated Internetworking into all aspects of the audio desktop to provide the first fully interactive speech-enabled WebTop.

About Emacspeak:


Originally based at Cornell (NY) http://www.cs.cornell.edu/home/raman -- ;home to Auditory User Interfaces (AUI) on the WWW -- ; Emacspeak is now maintained on GoogleCode --http://code.google.com/p/emacspeak -- ; and Sourceforge -- ; http://emacspeak.sf.net. The system is mirrored world-wide by an international network of software archives and bundled voluntarily with all major Linux distributions. On Monday, April 12, 1999, Emacspeak became part of the Smithsonian's Permanent Research Collection on Information Technology at the Smithsonian's National Museum of American History.

The Emacspeak mailing list is archived at Vassar -- ;the home of the Emacspeak mailing list -- ; thanks to Greg Priest-Dorman, and provides a valuable knowledge base for new users.

2 Press/Analyst Contact: Hubbell Labrador

Going forward, BubbleDog acknowledges her exclusive monopoly on setting the direction of the Emacspeak Audio Desktop, and promises to exercise this freedom to innovate and her resulting power responsibly (as before) in the interest of all dogs.

**About This Release:


Windows-Free (WF) is a favorite battle-cry of The League Against Forced Fenestration (LAFF). -- ;see http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm for details on the ill-effects of Forced Fenestration.

CopyWrite )C( Aster and Hubbell Labrador. All Writes Reserved. LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered Dogmarks of Aster and Hubbell Labrador. All other dogs belong to their respective owners.

Author: T.V Raman

Date: 2010-05-10 17:37:06 PDT

HTML generated by org-mode 6.35i in emacs 24

Tuesday, January 26, 2010

AsTeR --- Audio System For Technical Readings

Almost exactly 16 years to the date after presenting AsTeR --- Audio System For Technical Readings --- to the CS Faculty at Cornell for my PhD, I released the source code as Open Source --- thanks to Prof. David Gries at Cornell for approving this release.

The sources are checked into GoogleCode project aster-math --- unfortunately, the name AsTeR was unavailable since there is an unrelated project of the same name at SourceForge.

So you might well ask: why 16 years later, and why now? The honest answer is No good reason, except that after graduating from Cornell, I decided that I would work on newer projects, and consequently had no cycles to support the AsTeR code base. Nothing has changed in that context, nor is it likely to change in the coming future; however I get requests off and on from different parts of the Web from teachers and students alike who have seen my PhD thesis, played with the demos, and wish to study the sources.

What You'll Find In The Sources

The code has not been actively developed since I finished my work at Cornell; however, over the years, I 've ensured that the system starts up and runs on Linux using the Open Source CLisp environment. The only text-to-speech engine that is supported is the hardware DECTalk --- though it should be a small matter of programming to support the various Emacspeak speech servers. If you do checkout the source code, start by looking at the README file which contains brief instructions on getting started. Feel free to use the Emacspeak mailing list for now if you wish to discuss the code --- if the traffic justifies it, we can later create a project-specific list.

Wednesday, November 25, 2009

Emacspeak 31 (AKA TweetDog) Unleashed!

Emacspeak 31.0 - TweetDog - Unleashed!

1 Emacspeak-31.0 (TweetDog) Unleashed!


2 For Immediate Release:

San Jose, Calif., (Nov 26, 2009) Emacspeak: Bringing tweet Access For social beings - Zero cost of upgrades/downgrades makes priceless software affordable!

Emacspeak Inc (NASDOG: ESPK) --http://emacspeak.sf.net-- announces the immediate world-wide availability of Emacspeak 31.0 (TweetDog) - a powerful audio desktop for leveraging today's evolving data, social and service-oriented Web cloud.

Downloads Reference Installation Usage Tips Tools Support
EMACSPEAK Logo
About the author SourceForge

2.1 Investors Note:


With several prominent tweeters expanding coverage, NASDOG: ESPK has now been consistently trading over the net at levels close to that once attained by DogCom high-fliers - and as of October 2009 is trading at levels close to that achieved by once better known stocks in the tech sector.

2.2 What Is It?


Emacspeak is a fully functional audio desktop that provides complete eyes-free access to all major 32 and 64 bit operating environments. By seamlessly blending live access to all aspects of the Internet such as Web-surfing, blogging, social computing and electronic messaging into the audio desktop, Emacspeak enables speech access to local and remote information with a consistent and well-integrated user interface. A rich suite of task-oriented tools provides efficient speech-enabled access to the evolving service-oriented Web cloud.

2.3 Major Enhancements:


  1. Speech-enables Twitter. ✹
  2. Unicode support for enabling the world's various charsets.♁
  3. Emacs front-end to popular Google AJAX APIs. ⚤
  4. Updated g-client with preliminary support for Google Docs. ✏
  5. Updated URL Templates for rapid Web access. ♅
  6. Updated WebSearch wizards for enhanced productivity.♄

Plus many more changes too numerous to fit in this margin ... ⚭

Tuesday, October 13, 2009

A Google Tool-belt For The Complete Audio Desktop

Introducing The Emacspeak Google Tool-belt

Module emacspeak-google.el implements a suite of Google tools collectively refered to as The Google Tool-Belt. These tools let you slice and dice your result set using the various search operators provided by Google --- the functionality is similar to that -- --offered by the Google results page via -- --user interface control Show -- --Options.

The table below summarizes the tools that are presently available on the Emacspeak Google Tool-belt. For convenience, the tool-belt is bound to prefix-key Control-t in Emacs/W3 buffers.

keybinding
C-t C-bemacspeak-google-toolbelt-change-books-viewability
C-t Aemacspeak-websearch-accessible-google
C-t Bemacspeak-google-toolbelt-change-books
C-t Hemacspeak-google-toolbelt-change-web-history-not-visited
C-t Temacspeak-google-toolbelt-change-timeline
C-t aemacspeak-websearch-google
C-t bemacspeak-google-toolbelt-change-blog
C-t cemacspeak-google-toolbelt-change-commercial
C-t demacspeak-google-toolbelt-change-sort-by-date
C-t femacspeak-google-toolbelt-change-forums
C-t hemacspeak-google-toolbelt-change-web-history-visited
C-t iemacspeak-google-toolbelt-change-images
C-t lemacspeak-google-toolbelt-change-non-commercial
C-t nemacspeak-google-toolbelt-change-news
C-t pemacspeak-google-toolbelt-change-commercial-prices
C-t remacspeak-google-toolbelt-change-recent
C-t semacspeak-google-toolbelt-change-structured-snippets
C-t temacspeak-google-toolbelt-change-books-type
C-t vemacspeak-google-toolbelt-change-video

Share And Enjoy!

Monday, September 21, 2009

Emacspeak, The World's Fonts And Braille

Emacspeak has supported the editing of Unicode text for over a year now --- thanks to the patches fromLukas. With the support now mature, I have now retired option emacspeak-unibyte --- Emacspeak no longer supports running Emacs in unibyte mode. Note that this aligns Emacspeak with Emacs 23.2 which obsoletes unibyte mode.

When you edit text containing Unicode characters, Emacspeak uses the name of the character as found in the description file from the Unicode consortium --- you will need to download and install that data file as documented in Emacs:

describe-char-unicodedata-file is a variable defined in `descr-text.el'.
Its value is 
"/usr/local/share/unicode/UnicodeData.txt"

Documentation:
Location of Unicode data file.
This is the UnicodeData.txt file from the Unicode Consortium, used for
diagnostics.  If it is non-nil `describe-char' will print data
looked up from it.  This facility is mostly of use to people doing
multilingual development.

This is a fairly large file, not typically present on GNU systems.
At the time of writing it is at the URL
`http://www.unicode.org/Public/UNIDATA/UnicodeData.txt'.

You can customize this variable.

This variable was introduced, or its default value was changed, in
version 22.1 of Emacs.

With the Unicode data file in place, Emacspeak can announce names of characters from all of the world's fonts --- this includes Braille. As an added convenience, I have integrated package toy-braille.el found on the Emacs wiki into the Emacs codebase and defined a new interactive command emacspeak-wizards-braille --- if you find yourself using it often, you can bind it to a key of your choice. Command emacspeak-wizards-braille prompts for the string to Braille and produces a Grade-1 representation of the specified string using the appropriate Unicode characters.

⠠⠃⠗⠁⠊⠇⠇⠑⠀⠠⠁⠝⠙⠀⠠⠑⠝⠚⠕⠽

Tuesday, September 15, 2009

Emacspeak: Google News Suggest For Faster News Search

Google News now provides search suggestions --- this feature -- --has been present in Google WebSearch for a few years. As in the case of WebSearch, Emacspeak now leverages Google News' suggest feature to provide minibuffer completion when performing news searches on Google. To try the feature, try:

  • Press C-e?n to invoke News Search.
  • Type Oba and hit TAB

Search and Enjoy

Thursday, August 27, 2009

Emacspeak Servers --- Catching Up With Debian And Ubuntu

Over the last couple of years, the TCL world has moved on from TCL8.3 to TCL8.4 --- this introduces a set of needed changes to how Emacspeak servers such as Espeak and ViaVoice-Outloud work. I have finally decided to break backward compatibility with TCL8.3 and move things forward to TCL8.4, now that all the Linux distributions have settled on TCL8.4.

Also, sometime in 2005, I transitioned all of the server Makefiles to use libtool --- at the time, it made compilation of the servers somewhat easier. However, this has tended to make things more complex over time, thanks to changes in libtool. I've now dropped the libtool dependency in favor of using simpler Makefiles --- thanks William Hubbs of Gentoo!

ViaVoice Outloud Server For Emacspeak

The Voxin package from Guilles continues to be the easiest means of obtaining high-quality text-to-speech on Linux. Installation of that package went smoothly on Hardy; however on Jaunty, things did not go so well, see notes below for things to watch out for on Jaunty or later.

  • The libstdc++ compat libraries ended up not getting installed on Jaunty. Consequence, ViaVoice produces a warning asking you to install the ViaVoice RTK, even though it's already installed. I ended up rescueing the compat libs from my Hardy build. Perhaps we should put up a simple tar.gz file that drops those libs into /usr/lib?
  • Alsa is configured to use pulseaudio on Jaunty. An unfortunate consequence is that when ViaVoice runs, it sounds like a stereo channel played as mono, i.e. the speech slows down and the voice sounds wrong. The fix is to create a .asoundrc file in your home directory --- you can use the sample in linux-outloud/ASOUNDRC as a starting point. To see if pulseaudio is intervening in your setup, do :aplay -v wav file --- to see the set of alsa plugins that are participating in audio output.

ESpeak And Emacspeak

The ESpeak server does not get affected by the above problem. However, unless you install package alsa-oss and invoke that server as :aoss tcl espeak the server will fail to start if some other application is using the audio device.

Software Dectalk And Emacspeak

This still needs testing under newer Linux distributions --- I've not used it in a long time and dont have the libs installed any more.

Monday, June 29, 2009

Launching Favorite Media Via Hot Keys

Launching Oft-Played Media On The Complete Audio Desktop

Command emacspeak-multimedia lets you launch all forms of local and remote media. However this stil requires you to specify the media location --- and this requires a bunch of keystrokes that you end up repeating for selecting media that you play often, e.g., from your private music collection. No more extra keystrokes, you can now have Emacspeak automatically assign suitable hotkeys for launching emacspeak-media on your favorite audio collections.

How It Works

  • Customize Emacspeak option emacspeak-media-location-bindings using Emacs' Custom interface:
    M-x customize-variable --- 
    
    press C-H V in emacspeak.
  • Click ins to insert a key/location pair.
  • Click save to persist the binding.
  • pressing the assigned hotkey will automatically launch emacspeak-multimedia on the predefined location --- emacs will prompt you with regular filename completion for media resources found in that directory.

In my own case, I have favorites defined on hyper-<n> so I can define upto 10 hotkey assignments for media locations.Once launched, Emacspeak automatically switches to the media player buffer; note that this is different from how emacspeak-multimedia normally works. The justification: this hotkey interface is ideally suited to remote controls, joysticks, and any other peripheral via which you can deliver input to Emacs.

Friday, May 22, 2009

Looking Beyond The Screen At Google I/O2009

Come join me and Charles Chen at Google I/O2009 at our session on Looking Beyond The Screen (YouTube Preview where we will describe some of our work on eyes-free interaction on Android. We'll be around during most of Google I/O, so if you are interested in eyes-free interaction ranging from Emacspeak to Fire-Vox, or anything else eyes-free, feel free to grab us in the hallways. Looking forward to seeing you there!

Abstract: Looking Beyond The Screen

Looking Beyond The Screen

Project Eyes-Free aims to enable fluent eyes-free use of mobile devices running Android. Target uses range from eyes-busy environments like in-car use to users who are unwilling to or incapable of looking at the visual display --- see For The Blind, Technology Does What A Guide Dog Can't, NYTimes, January 4, 2009, for a high-level overview. As described in that article, we are releasing components from project Eyes-Free as they become ready for end-user deployment. This announcement marks the first public release of the eyes-free shell on the Android Marketplace, though the underlying source code has been available for some time from the code repository at Google Code Hosting.

Here is a brief overview of the end-user affordances provided in this release:

  1. An Eyes-Free Shell for conveniently launching talking applications.
  2. A collection of useful talking applications that turn an Android phone into an eyes-free communication device --- see subsequent sections for an overview of these applications. Note that thes eapplications have been written to be both useful to end-users as well as to help the developper community to come up to speed with developing eyes-free applications for Android.

We will be uploading video tutorials demonstrating the use of these applications to YouTube --- please see the project Web site for these links as they become available.

Talking Dialer

A key innovation is the use of the touch screen to enable one-handed, eyes-free dialing of phone numbers using the touch screen --- see Miguel Helft's NY Times article cited above for a good layman's description of the technique. The talking dialer comes with a talking phone-book that enables users to quickly select a desired contact using the touch screen.

Knowing Your Location

This mini-application announces your present location based on information acquired via GPS and the cell network. It speaks your current heading using the built-in magnetic compass, looks up the current location on Google Maps, and announces the location in terms of a nearby address and street intersection.

Device State

This mini-application announces useful information such as battery state, signal strength, and availability of WiFi networks.

Date And Time

This mini-application provides single-touch access to current date and time.

Monday, May 11, 2009

Announcing emacspeak 30.0 --- SocialDog!

Emacspeak-30.0 (SocialDog) Unleashed!

For Immediate Release

San Jose, CA, (May 11, 2009)
Emacspeak: --- Bringing friendly Access For social beings
--Zero cost of upgrade/downgrades makes priceless software affordable!

Downloads Reference Installation Usage Tips Tools Support
EMACSPEAK Logo
About the author SourceForge

Emacspeak Inc (NASDOG: ESPK) announces the immediate world-wide availability of Emacspeak-30 --a powerful audio desktop for leveraging today's evolving data and service-oriented social Web cloud.

Investors Note

With several prominent analysts initiating coverage, NASDOG: ESPK continues to trade over the net at levels close to that once attained by the DogCom high-fliers of yester-years and as of October 2008 is trading at levels close to that achieved by better known stocks in the tech sector.

What Is It?

Emacspeak is a fully functional audio desktop that provides complete eyes-free access to all major 32 and 64 bit operating environments. By seamlessly blending all aspects of the Internet such as Web-surfing and electronic messaging into the audio desktop, Emacspeak enables speech access to local and remote information with a consistent and well-integrated user interface. A rich suite of task-oriented tools provides efficient speech-enabled access to the evolving service-oriented Web cloud.

Major Enhancements

  1. Speech-enables Twitter.
  2. Unicode support for enabling the world's various charsets.
  3. Emacs front-end to popular Google AJAX APIs.
  4. Updated g-client with preliminary support for Google Docs.
  5. Updated URL Templates for rapid Web access.
  6. Updated WebSearch wizards for enhanced productivity.
  7. Emacs 23 support.

See the NEWS file for additional details.

Thursday, March 26, 2009

Toward an Accessible Democracy --- White House Moderator AxsJAXed

Toward An Accessible Democracy --- White House Moderator AxsJAXed!

This is not directly Emacspeak related --- except that it is useful for emacspeak users. Project AxsJAX, combined with Fire-Vox does for Web-2.0 applications what Emacspeak does for applications written within Emacs. Charles and I just announced AxsJAX For White House Moderator --- an AxsJAX extension that applies W3C ARIA to the White House Moderator.I'll append the article below:

An ARIA For The White House Moderator

Google-AxsJAX was launched in late 2007 as a library for access-enabling Web-2.0 applications. Since then, we have released accessibility enhancements for many Web-2.0 applications via the AxsJAX site as early experiments that have eventually graduated into the products being extended. Today, we are happy to announce an early AxsJAX extension for Google Moderator that enables fluent eyes-free use of Google Moderator as seen on the White House site.

HowTo: Brief Overview.

For details on installing and using AxsJAX extensions, see the AxsJAX FAQ. Briefly, you need Firefox 3.0 and a screenreader that supports W3C ARIA. Users who do not have a screenreader installed can most easily experience the results by installing Fire Vox, a freely available self-voicing extension for Firefox.

With the AxsJAX extension in place, you can use Google Moderator via the keyboard, with all user interaction producing spoken feedback via W3C ARIA. Here is a brief overview of the user experience:

  1. The user interface is divided into logical panes --- one listing topic areas, and the other listing questions in a given topic. At times, e.g., before a meeting, you may find an additional Featured Question pane that shows a randomly selected question that you can vote on.
  2. Users can ask new questions under a given topic, or give a thumbs-up/down to questions that have already been asked.
  3. Use the left and right arrow keys to switch between the two panes. You hear the title of the selected pane as you switch.
  4. Use up and down arrows to navigate among the items in the selected pane. As you navigate, you hear the current item.
  5. Hit enter to select the current item.
  6. The current item can be magnified by repeated presses of the + (or =) key. To reduce magnification, press the - key.
  7. When navigating the questions in a given topic, hit y or n to vote a question up or down.
  8. When navigating items in the topic pane, hit a to ask a question. Once you confirm your request to post the question, it will show up in the list of questions for that topic so that others can vote that question up or down.

Please use Google Group Accessible for providing feedback on this AxsJAX extension.

Share And Enjoy--

Raman and Charles.

Wednesday, November 26, 2008

Announcing Emacspeak 29.0 (AbleDog)

Downloads Reference Installation Usage Tips Tools Support
EMACSPEAK Logo
About the author SourceForge

Emacspeak Inc (NASDOG: ESPK) announces the immediate world-wide availability of Emacspeak-29 --a powerful audio desktop for leveraging today's evolving data and service-oriented Web cloud.

Investors Note

With several prominent analysts initiating coverage, NASDOG: ESPK continues to trade over the net at levels close to that once attained by the DogCom high-fliers of yester-years and as of October 2008 is trading at levels close to that achieved by better known stocks in the tech sector.

Major Enhancements

  1. Speech-enables proced --- a new task manager.
  2. Emacspeak-Webspace for rapid access to content feeds.
  3. Unicode support for enabling the world's various charsets.
  4. Emacs front-end to popular Google AJAX APIs.
  5. Updated g-client with preliminary support for Google Docs.
  6. Updated URL Templates for rapid Web access.
  7. Updated WebSearch wizards for enhanced productivity.
  8. One-shot Google Search with suggestions for word under point.
  9. Emacs 23 support.

See the NEWS file for additional details.

Harnessing Emacspeak

You can visit Emacspeak at SourceForge. The latest development snapshot of Emacspeak is available via subversion from Google Code Hosting. You can subscribe to the emacspeak mailing list emacspeak@cs.vassar.edu by sending mail to the list request address emacspeak-request@cs.vassar.edu.

Press/Analyst Contact: Hubbell Labrador
Going forward, BubbleDog acknowledges her exclusive monopoly on setting the direction the the Emacspeak Audio desktop, and promises to exercise this freedom to innovate and her resulting power responsibly (as before) in the interest of all dogs.

Emacspeak-28.0

Tuesday, September 09, 2008

Emacspeak Webspace Goodies

Module emacspeak-webspace has a few new goodies on offer. If you activate WebSpace Headlines to obtain a continuously updating ticker of headlines, you may also at times want to find one of the headlines you heard go by and read the relevant article. Command emacspeak-webspace-headlines-view bound by default to C-RET pops up a special Headlines buffer that lists all the currently available headlines. This is a regular Emacs buffer that uses a special major mode called emacspeak-webspace-mode. This mode provides special commands to open a feed at point, follow hyperlinks etc.; use Emacs' online help facilities to learn how this buffer works.

Mode emacspeak-webspace-mode is also used to advantage in browsing information retrieved via the Google AJAX APIs described in the previous set of articles on this blog. Google Reader subscribers can now view the subscription list in a Webspace buffer via command emacspeak-webspace-reader. Additionally, command emacspeak-webspace-google provides a more convenient interface to command gweb-google-at-point --- in addition to speaking the snippet from the first search hit, this command places the first four results in a special Search Results buffer that is put in Webspace mode.

Search And Enjoy!

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.

Abstract

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!

Monday, July 14, 2008

Talk Announcement: Developing Accessible Web-2.0 Applications

For those of you in Silicon Valley, Charles Chen and I will be giving a talk on developing accessible Web 2.0 applications as part of the Google Open Source Series --- see details below. This will be a hands-on tutorial on ARIA-enhancing Web 2.0 applications using Google AxsJAX, and is a follow-up to the talk given at Google I/O . A video of this talk will be posted later on the Web.

Open Source Developers @ Google Speaker Series: Charles Chen & T.V. Raman

Want to learn more about creating accessible Web 2.0 applications from the creators of Fire Vox and Emacspeak ? If you are nearby Google's Mountain View, California, USA Headquarters on Monday, July 14th, please join us for Charles Chen and T.V. Raman's presentation Enhancing Web 2.0 Accessibility via AxsJAX. They will take you through a hands on tutorial on Google-AxsJax , an Open Source framework for injecting usability enhancements into Web 2.0 applications. Among other topics, Charles and T.V. will cover an overview of AxsJAX's developer tools, enabling eyes-free interaction for web applications and iterative design processes for accessibility improvements. They will also let you know the secret to getting a cool t-shirt with the Google logo printed in Braille.

Like all sessions of the Open Source Developers @ Google Speaker Series, this session will be open to the public. Doors open at 6:30 PM and light refreshments will be served. All are welcome and encouraged to attend; guests should plan to sign in at Building 43 reception upon arrival. For those of you who cannot join us in person, the presentation will be taped and published along with all public Google Tech Talks.

Thursday, July 03, 2008

ProcEd: A Speech-Enabled Task Manager For Emacs

For the last 10 years or so, view-process-mode has been my task manager of choice for monitoring and controlling the state of processes on the Emacspeak audio desktop. As of Emacs 23, AKA Emacs from CVS, that module does not work anymore --- in fact it has not been updated for several years. On the positive side, Emacs now bundles module ProcEd --- a task manager that does for processes what module DirEd does for files and directories. As of this morning, proced.el is fully speech-enabled by Emacspeak. You can install module ProcEd for Emacs 22 by obtaining the file from the Web --- you can easily find it via Google.

Share And Enjoy ... And have a great July 4th Holiday!

Thursday, June 12, 2008

Leveraging Web 2.0 Design Patterns For Enhanced Accessibility

As promised, here is a link to the Youtube video of the talk on Leveraging Web 2.0 Patterns For Accessibility given during Google I/O on May 28, 2008 in San Francisco. Emacspeak users can play the video by hitting e e on the link, and specifying emacspeak-m-player-youtube-player when prompted. You can find the downloadable slides used during the talk along with other session material on the Google I/O page for this session.

Talk Details

Leveraging Web 2.0 Design Patterns For Enhanced Accessibility T. V. Raman (Google)

HTML DOM+ JavaScript constitutes the assembly language of Web Applications. Access To Rich Internet Applications --- ARIA --- adds in a couple of additional op-codes for helping Web applications better communicate with adaptive technologies such as screenreaders. How do we now push the envelope with respect to Web applications and adaptive technologies such as screenreaders and self-voicing browsers in a manner similar to what we as Web developers have collectively achieved for the mainstream user? This session will demonstrate programming techniques that help Web developers experiment with and build in the latest accessibility techniques into their Web applications. We will base this session on project Google-AxsJAX. Developers should know JavaScript, but session doesn't require deep AJAX hackery.

Wednesday, May 28, 2008

AxsJAX And Auditory User Interfaces At Google IO

For those of you interested in Auditory User Interfaces and attending Google IO 2008 in San Francisco today, I'll be giving a talk on AxsJAX and Auditory User Interfaces, and be around the rest of the two days to talk about Google's work on access-enabling Web-2.0 applications. Look forward to seeing you there!

Friday, May 16, 2008

Emacspeak On Thinkpad X-61 Running Gutsy (Ubuntu 7.0)

I recently upgraded to a Thinkpad X-61 running Gutsy --- here are some brief notes on the move. In summary, all is well, and I like Gutsy running on the X-61.

Here are things to be aware of both from a hardware and software perspective. All of this is with X and GNOME turned off; note that some of the tips e.g. turning off the display as described here, will cause havoc with X.

  • The X-61 display can be turned off using vbetool
    vbetool dpms off

    for turning off the display, and
    vbetool dpms on

    for turning it back on again.
  • If you suspend to memory etc., make sure to add the appropriate vbetool command to the relevant script in /etc/acpi/resume.d.
  • Gutsy is running ALSA 1.0.15, and to date, I've not had any trouble with the ViaVoice Outloud TTS engine in this environment. Make sure to play with amixer --specifically run command
    amixer controls

    to understand all the various switches and controls exposed by the audio hardware on the X61. Here are some of the things that were noticeably different that are worth mentioning:
    1. The PC speaker can now be manipulated via ALSA.
    2. The X-61 has two input sources. If you plug in an external mike, make sure to set both input sources to the microphone --- as opposed to leaving one or both of them to be either internal mic or mix. Specifically, plugging in an external mike does not disable the internal microphone.
    3. For some bizarre reason, it's possible to turn off the headphone output--- but you cannot control its gain.
  • Kernels later than 2.6.21 do much better with respect to power management, and this really shows on the X-61. With the LCD off, my X61 claims it'll run for 7.5 hours; if you turn off the wireless and USB1.1 as well, it claims it can go for over 8.5 hours.
  • Emacs versions: I'm running out of CVS AKA Emacs 23--- but the emacs-snapshot or emacs22 Ubuntu packages appear to mostly work as well. One irritation with some of the prepackaged bundles of Emacs under Ubuntu is that they dont install the Emacs Lisp sources, and this will bite if you try compiling packages like Emacs/W3.

All in all, the upgrade to Gutsy was mostly painless --- other than having to figure out the usual nits about the new hardware. The /proc/acpi/ibm support is further along but not yet complete--- as an example /proc/acpi/ibm/video does not yet control the state of the LCD --- and you cannot query the state of the display reliably through that interface.

Thursday, May 15, 2008

Emacspeak-28.0 (PuppyDog) Unleashed!

Emacspeak-28.0 (PuppyDog) Unleashed!

For Immediate Release

San Jose, CA, (May. 16, 2007)
Emacspeak: --- Bringing Cutting-Edge Access For Keen Users
--Zero cost of upgrade/downgrades makes priceless software affordable!

Emacspeak Inc (NASDOG: ESPK) announces the immediate world-wide availability of Emacspeak-27 --a powerful audio desktop for leveraging today's evolving data and service-oriented semantic Web.

Emacspeak can be downloaded from Google Code Hosting --see GoogleCode You can visit Emacspeak on the WWW at http://emacspeak.sf.net. You can subscribe to the emacspeak mailing list emacspeak@cs.vassar.edu by sending mail to the list request address emacspeak-request@cs.vassar.edu. The PuppyDog release is here. The latest development snapshot of Emacspeak is available via Subversion from Google Code Hosting at http://emacspeak.googlecode.com/svn/trunk/

Saturday, April 12, 2008

W4A Keynote: Cloud Computing And Equal Access For All

I'll be giving the opening keynote at the upcoming W4A 2008 conference in Beijing on April 21. You can find an online version of the paper along with the slides here: Cloud Computing And Equal Access For All. Coincidentally, another excellent Web 2.0 accessibility event is happening on the same day in London --- see Accessibility 2.0 --- it's unfortunate one cannot be in multiple places at opposite corners of the globe at the same time!

Tuesday, April 01, 2008

Emacspeak Goes Social

Leveraging The Benefits Of Free Speech!

For Immediate Release:
April 1, 2008

Live From San Jose ... Emacspeak Goes Social!

Investors and users alike welcomed today's announcement that Emacspeak (NASDOG:ESPK) would be going social --- Going Social is better than Going Postal!

As a pioneer in the space of eyes-free information access, and a firm believer in free speech and free software, Emacspeak will now help users go social speech-free --- all users need do is to use the system. When in use, the free-social features of Emacspeak will talk to others on your behalf, answer inane questions, and contribute to the community by in its turn asking even more inane questions of everyone else. In a repeat of the network effect that has led to the resounding success of systems like the World Wide Web and The Blogosphere, these viral features in Emacspeak are expected to win ones running instance many social connections. The longer one uses these features, the deeper one's social graph --- going forward, the information encapsulated in these social graphs will be converted to ever-increasing stacks of small pieces of green paper.

Coming Soon!

As these features are launched over the next few weeks, expect Emacspeak generated conversation streams to show up everywhere ranging from Twitter streams to random email messages that you can usefully use to forward to spammers. This innovative approach to communication finally adds value to spam --- and is being hailed as the next biggest business model to hit the ether. By making such content available on the Internet, the system will foster the long term human goal of organizing and searching all the world's ignorance to make it universally accessible --- thereby bringing ignorance on par with knowledge!

Friday, March 28, 2008

My Web-2.0 Application Is Feeling Accessible

If you feel up to Web hackery and want to win a cool T-shirt in the bargain, see My Web-2.0 Application Is Feeling Accessible!. You can see examples of what you can achieve with this framework in the AxsJAX showcase.

Thursday, March 06, 2008

Emacspeak WebSpace --- Interaction-Free Information Access

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 and scratch 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!

Thursday, January 03, 2008

Announcing: The Coming Of Piglets To The Emacspeak Desktop

This is to announce a new emacspeak module called Piglets that brings together Emacs and Firefox to create a powerful framework for authoring Web interaction wizards.

Why Piglets?

You might well ask Why Piglets?, and might conjecture that PIGLETS might stand for Powerful Internet Gadgets for a Light-Weight Talking System. You might conjecture that the Emacspeak mascot likes pig-ears; or you might even think of attributing it to the fact that my friend and colleague Charles Chen and creator of Fire Vox was born in the year of the pig. But you'd be mostly wrong in all of the above.

Piglets on the Emacspeak desktop are the result of having two large (and powerful) software pigs connect over a socket. A few months ago, I blogged here about MozREPL and how it allows me to Put The Fox In A Box. Piglets mark the completion of the Emacs/Firefox integration that started with Firebox. Once you install Fire Vox, the free self-voicing extension for Firefox, piglets become a versatile means to leverage the self-voicing Fire-Vox/Firefox DOM from the comfort of the emacspeak environment.

What You Need

Caveat: ALL of this is early experimental software --- and you'll need to tweak things for your environment to get things working.

  • A version of Emacspeak from the subversion repository.
  • Check the installation of the servers/python files in your Emacspeak installation.
  • Confirm that the HTTP wrapper for the TTS servers works. You can most easily do this by running:
    # Start the HTTPspeech server 
    # from emacspeak/servers/python
    python HTTPSpeaker.py  outloud 2222 &
    # you can replace outloud with dtk-exp
    # but the bindings to other TTS  servers is not defined for now
    # Run wget to test the speech server:
    wget --post-data='speak:hello world' localhost:2222
    
    If all is well, you should here the TTS engine say Hello World

    Do not proceed if the above does not work.

  • Install Fire-Vox and configure it to use the Emacspeak TTS server. You can do this with ORCA providing the feedback. Alternatively, once you have installed Fire-Vox, shutdown Firefox and then edit your ~/.mozilla/firefox/default/prefs.js
    user_pref("firevox.LastWorkingTTS", 4);
    
  • The above sets up Fire-Vox to use the running HTTP speech server you started earlier.

Loading And Running Piglets

The Piglets framework is implemented in module emacspeak-piglets.el. There is a Fire-Vox binding in module emacspeak-firevox.el and a binding to the JawBreaker game in emacspeak-jawbreaker.el.

How Does It Work?

When you get the various pieces configured and working, here is how things work:

  • Piglets place you in a special interaction buffer in Emacs.
  • Typing keys in this buffer go to Firefox.
  • Control keys send commands to Firefox using MozREPL.
  • The latter is most useful in conjunction with Web 2.0 applications that have been AxsJAXed.
  • Additional commands give access to FireFox features such as the URL bar. As an example, hit C-w and type the phrase you'd like to go into the address bar --- either a URL or a search term. As an example, try typing XKCDComic. This will automatically do a Google Lucky Search (thanks to FireFox magic) and open the XKCD site.
  • But wait, there's more! Because XKCD has been AxsJAXed, you will hear Fire-Vox automatically speak the comic strip and its associated transcript. Hit ? in the FireFox interaction buffer to hear the available keystrokes for this AxsJAXed application; in general, ? brings up keyboard help for AxsJAXed applications.

ToDos:

These are some todos that I plan to get to eventually --- if you have coding cycles to contribute, feel free to work on these.

  • Create an HTTP binding to the TTS servers using TCL and the TCL HTTP libraries. This will eliminate the dependency on the Python wrapper I originally wrote for ORCA in fall 2005.
  • Write more Piglets.
  • Make installation and configuration simpler.
  • Test installation and configuration of the various pieces.

Thursday, December 20, 2007

Web Accessibility And Usability: Coming Back To The Basics

The Nielsen Norman Group has made available a detailed report on accessibility, which includes the results of several usability tests --- see Going Beyond Alt Text. It's a very good read, and though its conclusions might be depressing to people coming to this area from the outside --- they should be no surprize to users who have been trying to use the Web via spoken output over the last 10 years. From the perspective of the Emacspeak user who lives in a specialized browsing environment that is optimized for performing oft-repeated tasks, there are several interesting take-aways from this report:

  • Though so-called Web Accessibility Standards have attempted to focus on the behavior observed when using screenreaders with mainstream browsers, that thread of work appears to be achieving little with respect to the real metric of task completion. As technologists, we would all do well to remember that users come to the Web, and Web Access solutions not to use the browser but rather to complete one or other task.
  • As described in Specialized Browsers and The Web The Way You Want It, task-oriented access and specialized user-optimized web tools have been around since the inception of the Web.
  • Though the Nielsen study asked users to carry out each of the given tasks by going to a given Web site, it would be interesting to see how such tasks work out in the Emacspeak environment. It's a given that an emacspeak user trying to buy a music CD at an online store would run into a brick wall fairly quickly (see, even online stores are made of brick and mortar;-)). However, as an Emacspeak user I'd never do that I'd either go to Amazon's highly efficient Amazon Accessible Store or faster yet, type an appropriate query at Google and click on the relevant Ad that sports a Google Checkout badge.
  • And more interestingly, it would be interesting to carry out a follow-up user study to compare the rate of task completion as well as observed efficiencies/inefficiencies between users of Emacspeak and generic browser/screenreader combinations for tasks such as:
    1. Play NPR news from the last hour.
    2. Play your local NPR station.
    3. Play BBC News from the last hour.
    4. Skim the top stories from CNN.
    5. Look up today's stock market numbers for the major indices.
    6. And items too numerous to enumerate in this margin.

Wednesday, November 28, 2007

Directions Using Public Transport From Google Maps

In the spirit of adding a smart URL template to enhance the Emacspeak Web Command Line for useful tools I discover ...

I just checked in a Public Transit Via Google Maps tool into the Emacspeak SVN repository. You specify trip details in the form start to destination e.g., 2715 La Terrace Circle 95123 to San Jose Airport and get back a filtered view that shows the information you want. Note that clicking on the link in this blog will give you the entire page, which is fairly easy to navigate. But having a smart filter in Emacspeak makes it that much more efficient to use.

Share And Enjoy,

Friday, November 23, 2007

Announcing Emacspeak 27.0 AKA FastDog

For Immediate Release

San Jose, CA, (Nov. 24, 2007)
Emacspeak: --- Bringing Cutteng-Edge Access For Sharp Users
--Zero cost of upgrade/downgrades makes priceless software affordable!

Downloads Reference Installation Usage Tips Tools Support
EMACSPEAK Logo
About the author SourceForge

Emacspeak Inc (NASDOG: ESPK) announces the immediate world-wide availability of Emacspeak-27 --a powerful audio desktop for leveraging today's evolving data and service-oriented semantic Web.

Major Enhancements

  1. emacspeak-web: Updated Web interaction.
  2. emacspeak-ess: Speech-enables Emacs Statistics Interface
  3. Header Line Support:
  4. Windows Key Now Stops Speech
  5. Smarter mode-line output:
  6. Google Suggest provides completion for search queries.
  7. Integrated Support For Google Services
  8. emacspeak-moz: Firefox integration.
  9. Emacspeak-webmarks: Online bookmarks.

And others too numerous for this margin ...

Friday, November 16, 2007

AxsJAX, Speech-Enabled Games And Auditory User Interfaces

This is not part of Emacspeak, but is relevant to emacspeak users given that:

  • Speech-enabled games have proven to be a successful means of discovering AUI techniques that work, beginning with the speech-enabled version of Tetris.
  • The emerging Emacs to Firefox connection using module emacspeak-moz.el and mozrepl
  • The ability to run Fire Vox with the Emacspeak speech servers --- look for a blog post on that soon.

Charles Chen and I recently released a JavaScript powered framework for access-enabling AJAX applications --- see AxsJAX. Along with access-enabling useful applications such as Google WebSearch and Google Reader, we also access-enabled JawBreaker, a popular game much in the spirit of Tetris --- but without a ticking clock. See AxsJAX showcase for pointer to this and other Web-2.0 applications that have been AxsJaxed.

Monday, October 08, 2007

The Web The Way You Want

I gave a talk last week at University of Washington entitled The Web The Way You Want; it should be of general interest to users interested in flexible access to the Web.

Monday, September 24, 2007

Podcast Covering Web Accessibility

I recorded this Accessibility Podcast a few weeks ago for the Google Developer Blog. It focuses on the overall topic of Web Accessibility and covers some of what I have been building with respect to custom clients for Google Services, alongside a broad range of issues around developing usable applications.

Tuesday, September 04, 2007

Emacspeak Video Demo: Looking Up The Weather

In the first of a sequence of posts demonstrating live emacspeak user interaction, I'll give an overview of what it feels like to use Emacspeak's powerful Web Command Line provided by its rich collection of web gadgets made up of search wizards and smart url templates

Here are a few things to note about this and all the subsequent video demos in this series:

  • All demos were recorded using recordmydesktop on an Ubuntu laptop running Linux (Ubuntu Dapper).
  • The text-to-speech is produced by the IBM ViaVoice engine, this can now be purchased from a couple of sources in the US and Europe.
  • All demos are recorded with the speech rate at which I use Emacspeak. These demos are primarily intended to show the efficiency of the environment, and slowing down the speech would detract significantly from that goal.
  • Frequent users of text-to-speech will still find the output comprehensible. For the rest, you can match it up with what you see on the screen ;-)
  • Careful listeners will notice some jitter/clipping in the audio --- this appears to be an artifact of using recordmydesktop that I was unable to eliminate.
  • In each of these articles, I'll enumerate the actions I take, and their effect. I'll enumearate actual keystrokes, but I suggest readers focus more on the atomic commands being executed, rather than individual keypresses.

Looking Up The Weather

Looking up current weather is a sufficiently common action where browsing to a weather site, typing in ones zip-code and reviewing the resulting page is three steps too many. This is also why most modern desktop environments provide gadgets that display such live information with minimal user intervention. This first video shows Emacspeak smart url RSS Weather From Wundergroundin action.

Here is the RSS Weather Demo. This is an OGG/Theora video and should play with tools like mplayer. The table below shows a brief description of each user action and its effect.

ActionKeyEffect
Access GadgetsC-e uPrompts for gadget
Pick Weather Gadgetrss tabpartial input completes to RSS Weather From Wunderground
Pick Default LocationreturnCA/SanJose
Speaks weather forecast
QuitqStops speech, dismisses weather forecast, and speaks current context. In this case the shell becomes current and you hear the relevant information.

A Transcript Of What You Hear

Users who could see the video half of this demo but were not frequent text-to-speech users reported that it would be useful to see a transcript of what is being spoken. I'm revising this entry to have an annotated transcript. Note that the transcript may not be accurate to the last word, since I'm typing it in by hand; however it should give one a sense of what information emacspeak chooses to speak.

Access Gadgets
The spoken prompt is Resource:.
Pick Gadget
You hear me type RS and then you hear Emacspeak completing my input to RSSWeather. Half way through that utterance, I know it's found the right gadget, so I hit enter, and that stops the utterance RSSWeather half-way through and speaks the next prompt. Notice that you also hear auditory icons to indicate that a prompt input area just opened.
Location
With the gadget now selected, you hear the City/State prompt generated by the weather gadget. It also produces a default location of CA/San_Jose. In the demo, you hear the State/City prompt, along with the default value. I hit enter midway through that utterance, again the speech flushes immediately. The gadget now has enough information to do its work; it pulls the RSS feed from Wunderground, converts it to XHTML (using XSLT) and displays the page using Emacs/W3. Once displayed, it starts speak the forecast you see on the screen.
Forecast
Here is a rough transcript of what you hear as the weather forecast is spoken. The forecast starts with the words: Conditions 73 degrees F Partly cloudy 4:50pm PDT August 18 ... This is in a lower-pitched (deeper) voice since it was generated from the title of the corresponding RSS item. Emacspeak uses Aural CSS to produce such audio formatted information. The contents of the item are spoken in the default voice starting with the utterance Temperature 73 degrees F 23 degrees C ... Conditions partly cloudy ... When I've heard enough, I hit q to quit.
Quit
When I quit the weather gadget, a number of things happen.
  • You hear auditory icon close-object to indicate the weather forecast being dismissed.
  • You hear context information indicating that the Emacs shell buffer has now become current.
  • For this context information, you hear it speak the working directory of the shell buffer and the word shell