Custom Search

mardi 29 mars 2011

How do I use an external GPS receiver with my phone?

Contributed by John J. Herzog

One of the Android apps that blind and visually impaired users especially enjoy is WalkyTalky by the Eyes-Free Project. When the app is on, users hear street addresses as they walk past buildings and houses. If the phone has a good internal GPS receiver, this app makes independent travel much easier, but if the device has a buggy internal receiver, as is the case with the Samsung Epic, feedback is nonexistent or obviously inaccurate.

For users who are not hearing spoken feedback or reliable information from WalkyTalky and other navigation apps, I highly recommend the use of an external Bluetooth receiver with an app called Bluetooth GPS Provider by mobile-j.de. This combination of hardware and software greatly increases the accuracy of the GPS and even, as in my case, the amount of auditory feedback delivered.

Bluetooth GPS receivers are available through eBay and electronics stores like Radio Shack and Best Buy. I have the Holux m 1000. Other members of the Eyes-Free users list recommend the i-Blue 737 and the Qstarz 818, which have a newer chip set and reportedly get you within 10 feet of a location. Whichever device you choose, be sure to read the manufacturer's documentation for instructions on operation and maintenance.

To use the external receiver with your phone, do the following:

1. Install Bluetooth GPS Provider by mobile-j.de from the Android Market. Note that the first time you run the app, you may not hear any speech. I had to press the back button to open the main screen.
2. Pair your Bluetooth receiver with your phone through Settings/Wireless and Network.
3. Start the Bluetooth GPS Provider application. The main screen presents three options: Start, Stop, and Choose Receiver.
4. Click on Choose Receiver In Provider, then scroll to and click on the Bluetooth device you paired with your phone.
5. Click the Start button in Provider. If you get a message about allowing mock locations, do that. The app opened the appropriate option in my phone's settings so I was able to check the item. If you have to allow mock locations manually, go into Settings/Applications/Development.
6. Hit Home on the phone. Don't hit Back, or you quit Provider and turn off any feedback.
7. Launch WalkyTalky from the home screen. I heard the address of the house I was near almost as soon as I turned it on.
8. Enable internal GPS if prompted. WalkyTalky may nag you to turn on internal GPS. If you leave the Destination field blank, this does not happen, so you can just use WalkyTalky with your Bluetooth GPS and Provider; however, if you enter a destination, WalkyTalky prompts you to turn on your internal GPS for route information. Don't worry, the external receiver is the one that actually provides the data to your phone. The prompt for turning on internal GPS is a glitch in WalkyTalky.
9. Quit WalkyTalky when you're done.
10. Turn off Bluetooth GPS Provider.
11. Go into the Bluetooth GPS application and hit the Stop button. This prevents Talkback from repeating that there is a bluetooth gps problem when you turn off your receiver.

That's all there is to it. If you're having trouble using WalkyTalky and other GPS apps, it may be that the GPS receiver in your phone is the problem. That is the case for me, and though keeping and charging an external device is yet another thing to remember, using a Bluetooth receiver with a simple Market app is easy and preferable to inaccurate or missing voice guidance.

How do I work around the accessibility issues in Touchwiz with Android 2.2?

Contributed by John J. Herzog

Unfortunately, the upgrade to Android 2.2 has broken many accessible applications and features of the Samsung Epic. This is largely due to the Touchwiz user interface (UI), which is responsible for modifying key apps. After using my phone for a couple of days, I have found issues with Messaging, Call Log, Contacts, Caller ID, music player, GPS, my user defined home screen, and the My Apps area of the Market. Other apps may be affected as well. In this post, I explain the accessibility drawbacks in each of these key apps and describe workarounds to help you get a useable phone.

Messaging on the Epic with 2.2

Problem:

In the stock text messaging app, it is hard to send a message to a person when there is no pre-existing conversation. When you open the app, you are placed in an edit box, and Talkback says, "to," to indicate that this is where you enter a phone number or contact name. While you can still write in this box, you can no longer type the first few letters of a contact's name, then scroll down the list of available matches with the arrow keys. If you try, you get an error stating that you have entered an incorrect address, and that the recipients will not get your message. For me, a person with over fifty contacts in his phone, this bug is a showstopper.

solution:

Download an app called Go SMS by Go Dev Team. It is available from the Android Market and is free to use.

Go SMS is almost identical to the stock messaging app. There is an unlabeled button at the top of the screen; clicking on it allows you to compose a new message. The typing boxes have labels and work normally.

When you launch go sms, focus is in the box where you specify who the message will go to. In this case, you can type the first few letters and use your arrows to scroll through a list of matches. Just hit enter when you find the contact you want, and the text is filled into the message box.

After you finish filling in the recipient, hit the down arrow to get into the message body and type your text. This behaves appropriately as well. Then to send the message, hit the right arrow from here to move to an unlabeled button, which sends the message as it does in the stock messaging app.

Other areas of Go SMS also behave similarly to the stock messaging app. For instance, when you launch Go SMS and use your arrows, you can browse through your conversations with friends. Clicking on a conversation allows you to either send a message to that person or reread all of the prior messages in the thread. There are no unusual quirks here.

Note: If you open the Go SMS from a status bar notification, the New Text Message alert does not clear automatically. To clear it, you must either go into the stock messenger or clear the notification manually from the status bar.

Call log on the Epic with 2.2

Problem:

The stock call log is largely inaccessible. Whenever you click on the call log, you are presented with a list of items that does not speak to you. You can hear a click every time you move, but you do not get any information about who called you, what time the call took place, and so on.

But if you hit enter on any of the items that do not speak, Talkback announces the number for that call log entry, and you are placed in a list of all calls made between you and the number in question. This is inconvenient for two reasons. First, you have to click on each item that does not speak to find out which call it refers to. Seconde, if you make many calls to a particular number, many of the items that do not speak take you back to the same list, so you have to move up and down the list of all calls ever made between you and that number, instead of having a quick overview of individual calls that you can read in sequence.

Solution:

Download an app called Go Contacts by Go Dev Team. It is available from the Android Market and is free to use. The application contains two components, which are both useful to have: Go Dialer and Go Contacts.

When you launch go dialer, you are placed in a list of calls. As you move down the list, Talkback announces each phone number. By pressing the menu key, you get to determine what types of calls are shown to you. For instance, I can click on the option that shows Missed Calls only. There are three other options: Incoming Calls, Outgoing Calls, and All Calls.

One drawback of this application is that it arranges your calls alphabetically. In other words, if you have a missed call from Bob Smith, it appears in the list before your missed call from Doug Jones. This is true even if Doug was the most recent missed call. This is really annoying but I cannot seem to find a way around it for the time being.

When you find a call you want to work with, you can short-press or long-press on the entry in the list. If you short-press enter, the phone dials the number so you can return the call. If you long press enter, you get several options. One is to delete this call from the call log. I choose this often so as not to forget who I called back and who I didn't. Other options are to add this caller to contacts or to create a new contact for the caller. All of these options are accessible and present no problems for Talkback.

While Go Dialer is helpful, you may run into a few accessibility snags. When first opening the app, be sure not to hit the up-arrow. This takes you out of your call log, and into a dialing area of the app. It contains the keys on the number pad, and you can move from button to button using the arrow keys. However, from this dialing screen, you cannot get back into your list of calls. To return to the call log, up-arrow to the top of the screen, and click on the Dial item, which is actually a tab, and should bring you back into your call log. If this fails, go back up to Dial, right-arrow once, then left-arrow again. If all else fails, just exit the app and restart it.

Note: If you open the Go Dialer call log from a status bar notification, the Missed Call alert does not clear automatically. To clear it, you must either go into the stock messenger or clear the notification manually from the status bar.

Contacts on the Epic with 2.2.

Problem:

It is not possible to add a new contact from the stock call log. The stock call log includes an option for adding an entry to contacts by hitting the menu key and choosing add to contacts. This places you in a list of your existing contacts. The next logical step is to arrow to a New Contact button, click it, and start an entry with the phone number from the call log. However, this is the step that is inaccessible as there is no New Contact button that can be reached with the arrow keys. Navigating above the contact list takes you to a search box, where you type the name of a contact you are looking for, and moving to the bottom of the list doesn't produce anything either. So your only real option is to add the number to an existing contact.

Solution:

Download an app called Go Contacts by Go Dev Team. It is available from the Android Market and is free to use. The application contains two components, which are both useful to have: Go Dialer and Go Contacts.

I usually access Go Contacts through Go Dialer because these apps work together. In Go Dialer, I arrow through the items in the call log. Calls associated with contacts are listed alphabetically, with other calls at the top of the list. When I find the phone number I want to add to contacts, I long press the enter key on it. I get a menu of options, including one for adding a new contact. I click on this option, and then edit the contact info as I did in the stock Contact app of 2.1. All the fields are labeled and behave appropriately with Talkback.

caller ID on the Epic in 2.2

Problem:

The option to have caller ID spoken is no longer available. Samsung has removed it. I consider this one of the most annoying accessibility regressions of the Epic. Previously, I could have the Epic announce the name of the caller in place of the ring tone itself.

Solution:

Download an app called Call Announcer by Codean software. It's available from the Android Market in both free and licensed versions; I'm using the free version.

After Call Announcer is installed, I simply go into the app, and check the setting Enable Callback Announcer. This lets the app speak the name of the caller over the ringtone. A quieter ringtone works better; otherwise, the voice may be drowned out by the tone itself. I use the system default which is called Luminescence. Note that, if you put the ringtone to silent, the free version of Call Announcer does not speak the caller ID information.

Music Player on the Epic with 2.2

Problem

In the stock music player, you can scroll through a list of sound files and click on individual items, but you cannot control playback once the music starts. When playback begins, focus moves to a screen with unlabeled buttons. You can find out what some of them do by clicking on them, but this method of trial and error isn't completely helpful since some buttons take you out of the screen and none seems to stop the current song from playing. I was able to stop playback only by using the task manager to kill the app. Also, in the window that is shown while a song is played, the seek control does not respond to the left and right arrow keys, so you cannot rewind or fast-forward within a song.

Solution

Download an app called Android Music by JRTStudio. It is available from the Android Market and is free to use. According to the app description, it is identical to the stock Gingerbread music player.

The app opens on a song list. Arrowing up and down moves focus through the items in that list. Arrowing left and right moves focus to the Artist, Album, Song, and Play List tabs, from which you can also arrow up and down. Clicking on a title plays the song, and all the buttons on the play screen are labeled.

Internal GPS on the Epic with 2.2.

Problem:

The internal receiver continues to have problems getting a fix on satellites. For example, when using Walkytalky with the Epic's internal GPS, Walkytalky does not announce the addresses you are passing by, and it does not alert you to upcoming turns, as the GPS accuracy can be off by 3 to 4 meters and usually more.

Solution:

Use an external GPS receiver with an app called Bluetooth GPS Provider by mobile-j.de. It is yet another replacement app available from the Android Market and is free to use.

By default, android phones do not let you connect with bluetooth gps receivers. Here is a brief overview of the steps needed to run bluetooth gps provider with the Epic. For more detailed information, refer to the post on using GPS receivers with Android phones:

1. Install Bluetooth GPS Provider from the market.
2. Do not start the app yet.
3. Go into Settings, Applications, then Development. Check the Allow Mock Locations box, and press Back several times to exit Settings.
4. Click on Bluetooth GPS Provider to start the app. Be sure that your receiver is on, and select it from within the app. In the future, you can just open Bluetooth GPS Provider, and click Start. Once the Start button has been pressed, do not click the Back button; if you do, you close the application. Instead, hit the home button to move to your home screen, then to Walkytalky, leaving Bluetooth GPS Provider running in the background. Walkytalky now gives you appropriate information as you use it.
5. Turn off Bluetooth GPS Provider when finished. Go into the Bluetooth GPS application and hit the Stop button. This will prevent Talkback from repeating that there is a bluetooth gps problem when you turn off your receiver.

User Defined Home Screen on the Epic with 2.2

Problem:

You can set the eyes-Free Shell as your default, but the phone keeps going back to TW Launcher, which is part of Touchwiz. This, however, doesn't happen with Mobile Accessibility. I follow the steps to set Eyes Free Shell as the default home screen, but when I restart the phone or when I long-press Back, TW Launcher opens, and pressing the Home button doesn't open the Eyes Free Shell. I have to go through the process of setting the Eyes Free Shell as my default again.

Solution:

Download an app called HomeSmack by TeslaCoil Software. It is available from the Android Market and is free to use.

Unfortunately, there is no fix beyond telling the phone you want the Eyes-Free Shell to be the default home screen. What HomeSmack does is offer an easy way to change the default home screen, letting me reestablish which one I want to use without my having to dig through the settings. Nevertheless, my Epic insists on defaulting to TW, and nothing I do changes that.

My Apps Area of the Market on the Epic with 2.2

Problem

It's not possible to access the My Apps area in Market, using the keyboard. When you open the Market app and press Menu, My Apps is one of the available options. Pressing the physical enter key on this option returns focus to the list of apps on the Market main screen; it does not open the My Apps list. Since the Epic doesn't also have a selector, there is no alternative hardware key to activate My Apps, and the soft d-pad of the Talkback keyboard isn't available because My Apps appears on a menu screen.

Solution

There is no alternative app for this problem. The solution is to guess where the option is on the screen and tap it with your finger.

The menu options (Search, My Apps, Settings, and Help) appear across the bottom of the screen. Whenever the physical keyboard is open, the phone is in landscape orientation, so these options are on the screen above the number row.

To find My apps, touch the number 5 or 6 on the physical keyboard; then slide your finger directly on to the screen from there. I'm not at 100 percent, but I find it most of the time.

conclusion:

The Samsung Epic with 2.1 was a fine choice for a screen reader user. Since its upgrade to froyo (2.2), I no longer recommend it to a blind user. Many of the critical apps do not work well with Talkback or Spiel. Messaging, managing your call log, adding contacts, checking caller ID, listening to music, using GPS, maintaining the user defined home screen, and accessing My Apps in Android Market are all near impossible without replacement apps from the market. Furthermore, if you use alternative applications to read texts and respond to missed calls, the system notifications alerting you of these events do not clear automatically. If you really must have an Epic, be sure you are a user who is comfortable using the android market to find and install apps; otherwise, I recommend either Mobile Accessibility from Code Factory or a different phone altogether.

lundi 21 mars 2011

TalkBack Refreshed: Accessible On-Screen Keyboard And More ...

Android Access: TalkBack Refreshed

1 Android Access: TalkBack Refreshed

The latest enhancements to TalkBack now brings Android Accessibility to devices without a physical keyboard. Many of these enhancements also improve the overall TalkBack experience on all devices.

1.1 Highlights

  • New TalkBack Keyboard.
  • On-screen talking keyboard enables text entry via the touch screen.
  • Text review provides spoken feedback when moving the cursor by character, word, sentence, or paragraph.
  • Virtual D-Pad for navigating the Android user interface.
  • Global TalkBack commands enable one-click access to oft-used commands.

1.2 TalkBack Keyboard

The TalkBack Keyboard is an Accessible Input Method (Accessible IME) that when activated enables you to enter and review text via the touch screen. To use this feature, you need to first activate the TalkBack keyboard via the Language and Keyboard option in the Settings menu. Next, customize the TalkBack Keyboard to taste via the TalkBack Keyboard Settings option --- here, you can customize additional features including auditory feedback as you type. Finally, open your favorite editing application, long-press on an edit field, and select TalkBack keyboard as your default IME. Note that you need do this only once; once the TalkBack keyboard has been made the default, it persists across reboots.

1.3 Entering Text On The Touch Screen

TalkBack keyboard is an on-screen keyboard that supports touch exploration along with synchronized spoken and auditory feedback. This means you can now enter text when using devices that don't sport a physical keyboard.

But wait, there's more here than meets the finger at first touch. Once you have activated the TalkBack Keyboard, you can switch the keyboard among three states by long-pressing the volume up/down buttons:

Hidden
The TalkBack keyboard is not displayed.
Navigating
You get access to an on-screen virtual D-Pad, along with Back, Home, Search, and Menu buttons.
Typing
An on-screen qwerty keyboard.

My preferred means of using the keyboard is to turn on auditory feedback from within TalkBack Keyboard Settings, as well as having SoundBack active. In this mode, you hear keys as you explore the keyboard along with an auditory icon; picking up your finger types the last key you explored. Typing produces a distinctive key-click.

The on-screen keyboard occupies the bottom 1/3 of your screen. While entering text, explore and find the top row, then move above it to hear what you have typed so far.

1.4 Reviewing Text By Character, Word, Sentence Or Paragraph

You can now navigate and review text by character, word, sentence or paragraph. Use a two-finger tap to move forward through these navigation levels; a two-finger double tap moves in the reverse direction. Once you have selected your preferred mode of navigation, you can use Up/Down on the physical track-ball/D-Pad, or alternatively, flick up or down on the virtual D-Pad to move forward or backward through the text being reviewed.

Note that text review works when the TalkBack keyboard is in either/navigating/ or typing mode; personally, I find it less error-prone on keyboard-less devices to first switch to navigating mode when reviewing text, since it is easy to inadvertently enter spurious text otherwise.

1.5 Using The On-Screen Virtual D-Pad

Placing the TalkBack keyboard in navigating mode provides an on-screen virtual D-Pad --- this is especially useful on devices that do not have a physical D-Pad or track-ball on the front of the device. When active, the virtual D-Pad occupies the bottom one-third of the screen, and fast-flicks in that area has the same effect as moving with a D-Pad or track-ball. Tapping anywhere within the virtual D-Pad is the same as clicking with the track-ball.

The corners of the virtual D-Pad also provides Back, Home, Search and Menu buttons --- these are especially useful on devices that lack explicit physical or capacitive buttons for these common Android actions. You can explore the virtual D-pad by moving your finger around the D-Pad area; crossing the top-edge of this area provides haptic and auditory feedback that can be used as an orientation aid in finding the virtual buttons on the corners.

1.6 Global Commands

In addition, selecting the TalkBack Keyboard as your default input method enables a set of global commands that can be accessed from your physical keyboard --- eventually, we will make these available via the soft keyboard as well. Here are a list of the current commands:

CommandDescriptionKey
BatterySpeaks the current battery levelmenu + B
TimeSpeaks the current date and timemenu + T
ConnectivitySpeaks the connectivity state of each connection: WiFi, 3G, etcmenu + O
RepeatRepeats the last TalkBack utterancemenu + R
SpellSpells the last TalkBack utterancemenu + S

These shortcuts are listed in the Accessibility Preferences application where they can be edited. You can choose between menu and search for the modifier, and any letter on the keyboard for the letter.

1.7 Summary

All of these features work on Android 2.2 and above. In addition, TalkBack makes WebView accessible in Honeycomb --- look for a separate announcement about accessibility enhancements that are exclusive to the Honeycomb release in the coming weeks.

Author: T.V Raman

Date: 2011-03-16 Wed

HTML generated by org-mode 7.4 in emacs 24

jeudi 17 mars 2011

How do I listen to Kindle books on my Android Phone?

Contributed by Fenton Smith

I explain here how blind people can remove the DRM from Kindle books for use on Android and other devices. These instructions are permitted only for personal use so that people with disabilities can have the same level of access to ebooks as is already available to the sighted.

Certain legal ramifications should be kept in mind. While the Department of Justice has said that it will take no action against those who break DRM to make file content accessible to people with disabilities, the DOJ has also said that it will take legal action if people sell, give away or loan such files outside their immediate households. Also, carelessness with respect to the rights of authors and publishers may cause the DOJ to rethink its stand and Amazon to plug this hole in its DRM.

Given all of this, I recommend against doing the work for other blind people, even if they buy the original source from Amazon. Instead, I suggest pointing them to tutorials like this one, which describe the tools and procedure for setting up an environment that allows them to make their purchases accessible for themselves.

Gathering the Tools

A number of tools are needed to support this process or help set up the environment. All are listed at the end of this article along with links to sources, and all are free.

The first item is the EBook DRM removal Kit.

This is a Torrent file. I used BitTorrent for the download. The file contains zip and rar files. Both can be unpacked by 7zip.

The file is a set of instructions, Python scripts and related executables for removing the DRM from Kindle and other file types. The basic DRM removal doesn't require a python interpreter, but the scripts for topaz file handling do require python 2.6 or 2.7.

The second item is the Kindle for PC with accessibility plugin from Amazon. The K4PC gives you access to the files you purchase and brings them to your PC. The files will appear in your “My Kindle Content” directory, which is created during installation, and they will have an .azw (Amazon.com wrapper) extension.

Note that this version of Kindle for PC requires that you have a screen reader installed. The Amazon page describing this version of K4PC includes a list of shortcuts for the accessible Kindle Application and a list of screen readers known to work with it. If you are using a screen reader that is not listed, download the program, install it, and check to find out if it works anyway. If it doesn’t, contact Amazon to tell them which one you are using and request that they add it to the list of compatible screen readers.

The third item is Calibre, a set of tools for translating ebooks from one format to another.

Note that the torrent does contain the installation executable for Kindle for PC, but that version is not accessible. Instead, use the special version directly from Amazon.

Removing the DRM from the File

The DRM remover package documents several methods for using the programs and scripts it contains. The one I chose is this:

1. Create a special SKindle directory on the hard drive, where the My Kindle Content directory is also located. This is usually the system drive c:. I created the SKindle directory on my c:\ drive, but you can put it anywhere else on the drive.
2. Create two sub directories in the SKindle directory. Their names are Input and Output.
3. Into the SKindle directory, copy LZSkindle4PCv1_1.exe and skindle.exe, each of which is found in different subdirectories of the Torrent.
4. copy the .azw file from your “My Kindle Content” directory into the input directory in SKindle and execute LZSkindle4PCv1_1.exe. This is the step that actually removes the DRM from the Kindle book.

Three outcomes are possible:

• No conversion is done since the file is an unencrypted mobi file. The file remains in the input directory.
• The file is converted, the version without DRM appearing in the output subdirectory.
• The file version without DRM appears in the output file with a changed extension.

The goal is the first or second option. The third is a problem as it represents the case of a topaz ebook. The set of scripts do include python scripts for dealing with topaz books, but the results are said to be unsatisfactory. Since most Amazon books are mobi, I'll leave the handling of topaz books until I need to attempt to read one.

Note: While the DRM removal tools were running, I noticed that K4PC uses both the user account name on the PC and the serial number of the disk drive as part of the encryption. That means these scripts will work only if you log onto your computer using the same user account (login name)that was used when the book was downloaded from Amazon and that the SKindle directory must be on the same physical drive as the “My Kindle Content” directory.

Converting the Kindle File to Epub

Now that you have a mobi book with no encryption in either the input or the output subdirectory, you need to convert it into an ePub for use on your Android or other reading device. Use Calibre to do this. The steps are as follows:

1. Create a directory named Calibre in the root directory of the drive that contains the SKindle and “My Kindle Content” directories.
2. Copy the .azw file with the DRM removed into the Calibre directory.
3. Use the notepad or your favorite text editor to create the following batch file:

Note that these are separate commands and should appear on different lines of the batch file. Also note that the assumption here is that the “My Kindle Content” directory will be on the C drive. This is the normal case, but advanced users can move it to another drive, in which case, the drive letter in the following needs to be changed.

cd c:\calibre\

ebook-convert "[book name].azw" .epub

Exit

4. Save this file as Calibre.bat in the Calibre directory.
5. If you need to edit the batch file, either open Notepad directly and use the file menu to open, or right click on the batch file name in Windows Explorer and select Edit from the context menu.
6. Execute the file by left clicking on the batch file name in Windows Explorer.

Notes:

• In this tutorial, when a modified command line is specified, the idea is that you modify the line in the batch file. Running the command line outside its’ normal context does not produce the desired result.
• The phrase “[book name]” and the brackets around it should be replaced with the base name (the file name without the extension)of the Kindle book you want to process. In other words, before running the batch file, you need to substitute "[book name]" with the actual name of the book so the line reads something like this:

ebook-convert "Dracula.azw" .epub

Dividing the Book into Chapters

While Calibre normally correctly identifies chapter headings, there may be instances in which it fails to do so or in which the book has no identifiable chapter headings. If this is the case, you can do a little extra work to add them yourself, converting the file to .rtf and using Word to insert chapter breaks:

1. Use the notepad to open the Calibre.bat file and change the output file type in the second line from epub to .rtf so that it reads:

ebook-convert "[book name].azw" .rtf

2. Save the modified batch file.
3. Execute Calibre.bat by doing a left click on the file name in the Windows Explorer.
4. Open the resulting document in word and either mark chapters or insert headings every 10 to 15 pages.
a. To find existing chapters, use Find (ctrl+f) to locate the word "chapter" or some other word or character that seems unique to chapter headings in the book.
b. To insert arbitrary chapter breaks, Use Edit/GoTo (or ctrl+g) and enter a page number about 10 to 15 pages ahead of your current position, do a skim of the area where you land to find a suitable point for a chapter break, and insert text like "Chapter ##."
c. Once the existing chapter has been found or an arbitrary break has been inserted, highlight the title text and press alt+ctrl+1 to make it a heading at level 1 . Then repeat the process throughout the book. Note that pressing alt+ctrl+1 to alt+ctrl+6 turns highlighted text into a heading at levels 1 through 6.
5. Use the caliber batch file to convert the modified rtf file back into an epub after all chapter breaks have been marked or inserted.
a. Open the caliber.bat file with the notepad or right click the file name in the Windows Explorer and select “edit.”
b. Alter the second line to read:

ebook-convert "[book name].rtf" .epub

c. Save the batch file and exit notepad.
6. Left click on the caliber.bat file in Windows Explorer to run the batch file, resulting in a conversion of the file from rtf format to an epub book.

Moving the Converted File to the Phone

Now that the DRM has been removed and the book is an ordinary ePub file, the only step left is to copy it to the phone's SD card. The usual procedure is to connect the phone to the PC with the USB cable provided, mount the SD card/turn on USB Mass Storage Mode, and copy the files from the computer to the SD card. If a reader is already installed on the phone, a directory named Books is on the root of the SD card. That is the directory where ePub files are to be copied. Once the ebook is in that folder, you are ready to enjoy your book with an accessible reader like Moon Reader+ Pro.

Trying an Alternate Method

Notice that Calibre was used for three different processes, altering the associated batch file for each specific process. Another approach is to create three batch files, one for each purpose. That is, the batch files would have names like “Amazon-epub.bat,” “amazon-rtf.bat,” and “rtf-epub.bat.”

Another simplification is to always use the same file name for every book processed. Thus, you would always use the file name “book” with the appropriate extension in each of the batch files. The following outlines such a process:

• Copy the desired book from “My Kindle Content” to SKindle/input.
• Run LZSkindle4PCv1 to remove the DRM.
• Copy the file from either SKindle\output or SKindle\Input, depending on the case, into c:\calibre.
• Change the file name to “book.azw” in the c:\calibre directory. You can edit file names in the Windows Explorer by hitting the F2 key while the file name is selected and then type a new name.
• Use the base name “book” in all subsequent processing.
• When the epub is finished, change its name from “book.epub” to reflect the content (e.g., “Margaret Mitchell, Gone With the Wind.epub”).

This modified approach lets you perform the needed processing on many books without needing to modify the batch scripts for each book.

To summarize, blind and visually impaired users can legally remove DRM from Kindle files to access the content as long as they do so for their own personal use. The actual file conversion process is easy and straight forward. The hard part is finding information on removing the DRM. It's available on the web for people without disabilities, but it's scarcer when the tool set to complete the process needs to be accessible too. It took me a good deal of research to find a tool set that works for blind people. I am sharing what I've found with other Android users to keep them from reinventing the wheel.

Now that I can access them, I'm looking forward to Kindle books. My first choice for reading material is still Bookshare, but due to the time it takes me to download from BARD (an hour or more at my download speed), my second choice will probably be Amazon via my Android.

Tool sources

The following are referred to in this tutorial. Hyperlinks have been included in the text for your convenience, but URLs are listed here in case you wish to keep them in your records.
BitTorrent
Source: www.bittorrent.com/btusers/download

7zip
Source: www.7-zip.org/

DRM remover
Source: www.demonoid.me/files/details/2483622/004261412868/

Python
Source: www.python.org/getit/

Calibre
Source: calibre-ebook.com/download

Kindle for PC with Accessibility Plugin
Source: www.amazon.com/gp/feature.html?ie=UTF8&docId=1000632481

Accessible Kindle for PC shortcuts list
Source: www.amazon.com/gp/help/customer/display.html/ref=hp_pcaccess_accessshortcuts?nodeId=200608290&pop-up=1

vendredi 11 mars 2011

Android Users Can Now Explore Their New Phones Independently

Keyboard Tutor is a new Android app from the eyes-free project that can help you locate and learn about the keys on your physical keyboard, and any other physical buttons on your phone. Just start the app, and press any button to hear a description of that button spoken.


You can download Keyboard Tutor from the android market.

lundi 7 mars 2011

How do I Develop an Accessible App?

If you are reading this blog for the first time, you are probably a developer wondering how to make your app more accessible to screen reader users. This post explains how you can test your app for accessibility, what you can do to make it more usable by blind and visually impaired people, and where you can find more information to help you develop accessibly.

Understanding Android Accessibility

When developing for Android, you must keep three things in mind:

1. The touchscreen is not accessible, so blind and visually impaired users find and activate controls using the d-pad or trackball.
2. Web views are not accessible, so blind and visually impaired users can not read information presented in this format, unless it is web content that can be accessed via the user default browser, in this case the Ideal Web Reader.
3. End users have very basic control over the information that is spoken, so long explanatory screens aren't helpful because the information generally cannot be repeated or spoken in its entirety.

Testing for Accessibility

To find out how accessible your app is for eyes-free users, simply turn on accessibility, activate a free screen reader, and try to use your own app without looking at the screen. Odds are you'll be sailing a stormy sea.

To turn on accessibility, do the following:

1. From the Android Market, install a free screen reader. Current options are Talkback and Spiel. Choose one.
2. Go into Settings/Accessibility, and check Accessibility and your screen reader.

The phone should start talking within a second or two. If it doesn't, you may need to install a free TTS library like SVox Classic or ESpeak.

Developing with a Screen Reader in Mind

Google has published a set of best practices for designing for accessibility. These boil down to a few key concepts:
• The UI should be navigable using a directional controller.
• Widgets should provide content descriptions.
• Custome views should deliver appropriate accessibility events during user interactions.

The list of suggestions below is based on issues end users encounter regularly:

1. Image-based controls should have appropriate content-descriptions; otherwise, eyes-free users hear "image button," without getting information about what the button is for.
2. All on-screen controls should be reachable via the trackball/d-pad or the Menu key; otherwise, eyes-free users cannot find or use them. This includes the Accept and Decline buttons of the initial screen.
3. Controls without implicit text (e.g., text inputs, radio buttons with separate labels, etc.) should also have contentDescriptions set; otherwise, eyes-free users can not complete complex input scenarios, as they will hear only "edit" or "checkbox," without having any information about how to populate the edit field or what checking or unchecking the box does. There is currently no way of associating static labels with inputs
. A workaround is to make the labels themselves focusable, but it's better to simply set the contentDescription of controls to the same value as the text that labels them.
4. Text alternatives should be available for information presented as embedded web views; otherwise, eyes-free users hear, "web view," and nothing else. Embedded web views are not spoken by the screen reader.
5. Apps that open the browser (to display a recipe, lyrics, shopping site, news article, etc) should open the user's default browser; otherwise, eyes-free users hear, "Web view," and nothing else. The stock browser is currently not accessible,, so blind and visually impaired users access the web via the Ideal Web Reader.
6. Explanitory text, like help screens and tutorials, should be short, no longer than the text displayed in the app description of the Market application on the phone; otherwise, eyes-free users do not hear them in their entirety. Two notepad apps that display text accessibly are uNote and OI Notepad.

Finding More Information

For more information, you can refer to a code lab created by some engineers on the eyes-free team. It goes over more advanced concepts. But this code lab is probably overkill for a developer who, like you, already has designed an app and just wants to make it accessible.

For help with specific issues, you can post to a developer group for programmers with eyes-free accessibility in mind.

Checking an App's Accessibility Rating

To find out how accessible eyes-free users think your app is, visit the Android Access website and look your app up. The site is a venue for blind and visually impaired Android users to rate apps for general accessibility and to share tips and workarounds for problems, like unlabeled buttons or inaccessible features.

To let end users know about your most recent accessibility improvements, post to the Eyes-Free users list or tweet @AccessAna, who will be happy to let other users know.

How do I tether my computer using PDAnet?

Contributed by John Herzog

PDAnet by June Fabrics Software is an application that enables you to tether your android phone to your computer. This is convenient when you need an internet connection as you are out and about. No rooting of the phone is required, and the app is both entirely accessible with Talkback and compatible with android 2.1 and 2.2.

I discuss using PDAnet with Windows. The Mac version does not appear to be accessible and I explain why later in this article.

Installing PDAnet

PDAnet involves some setup both on your phone and on the laptop or netbook you will be using.

First, install the app on your phone. To do this, use your handset to open the android market. In the search box, type "pdanet" without capitals or spaces. Scroll to PDAnet by June Fabrics software and install it as you would any other application.

Next, on your computer, go to the June Fabrics Software website and download PDAnet for your PC. There are two components to this program, and both are included in the installer. One of them enables your computer to surf the net, and the other is the PDAnet SMS agent. It is possible to send text messages from your computer when your phone is connected, but I cannot comment on whether the SMS agent is accessible or not because I have not used it.

Once setup has finished downloading, run it as you would any other windows program. The various screens, such as the license agreement, are pretty straight forward. There are, however, a couple of things to keep in mind as PDAnet is being installed onto the Windows machine:

1. Setup is going to ask you for your phone manufacturer. Make sure you choose the right one from the list, as all phones rely on different drivers. Installing the wrong one may leave you unable to use PDAnet, or may freeze the computer. If you have an older phone, you may have to find the USB drivers on the carrier or manufacturer website.
2. Setup may hang on the installing-USB-driver screen. If this happens, hit alt tab to check for additional screens. In my case, there was a security warning from Windows 7, saying that the driver was unsigned and therefore untrusted. I had to click Install Anyway for the setup process to continue. I also had to click a similar screen later in the setup process.

As installation progresses, the computer presents a screen with instructions for completing the USB driver setup. It tells you to unplug the phone from the computer if it is connected. It also instructs you to go into your phones settings and turn on USB Debugging mode. On the phone, this setting is found in Settings/Applications. Press the selector on USB Debugging and then again on ok when the phone warns that this option really shouldn't be turned on if you're not a developer. Plug the phone into your computer. After a while, the USB driver finishes installation, and PDAnet is ready to use.

I use NVDA as my screen reader. I knew setup was finished when it placed me in a read only field. I wasn't able to read anything in it, but an alt+F4 got me past that screen.

Using PDAnet:

Now that PDAnet is installed, fire it up and test the internet out. This is simple to do.

1. Connect the phone to the computer with the USB cable.
2. Make sure PDAnet is running on the computer, but don't click the connect icon in the system tray yet.
3. Launch the app on the phone. To do this, choose applications from the Eyes Free Shell, MA, or another home screen. hit p, and if necessary scroll to PDAnet. Open it by pressing the selector.
4. Check the phone to know what to do next.
a. The app may open on a screen with a few options. These include Start USB Tethering and Start Bluetooth DUN. You can connect either via bluetooth or USB to your computer for the tethering functionality. If this screen is the one that opens, select the option you want and hit enter to browse the web with firefox, internet explorer, or chrome.
b. Alternatively, the app may open on a screen showing two buttons. One of them is Stop PDAnet, and the other is unlabeled. I cannot comment on what the unlabeled button does. If this screen opens, you don't need to do anything else on the phone side, but you do have to click connect on the PC. To do this, go into the system tray. Arrow to PDAnet, press the Applications/Context key to pull up a list of options, and press enter on Connect to the Internet. If you are using windows 7, the network wizard asks questions at this point (e.g., type of network--home or public). After you get through the wizard, you should be able to browse the web with firefox, internet explorer, or chrome.

Note: I have not gotten the Bluetooth connection to work myself, so cannot comment on it.

Disconnecting PDAnet:

When you finish using the internet, disconnect your computer from it. I find that if I do not do so, my phone's battery goes down slightly, even though it is plugged into USB.

1. Start with the PC. Go back to your system tray, and find the PDAnet icon. Hit the applications key, and arrow to the Disconnect option, pressing Enter.
2. Next, on your phone, hit the Stop PDAnet button on the applications screen. If the phone has gone to sleep, you will have to unlock the screen first.
3. Finally, use Safely Remove on the PC to properly disconnect the phone.

Pointing out a Few Odds and Ends:

1. USB Debugging may need to be turned on and off if you want to use other features of your phone. I like to watch movies from my storage card, but the option to move files to and from the phone is not available with debugging turned on. To change this, I simply go into Settings/Applications, and uncheck the box that says allow USB tethering. Then I remember to turn this back on before using PDAnet again.
2. Sorry Mac users. PDAnet does not appear to be accessible. The program utilizes icons on the menu bar, similar to Sound Flower. Voiceover does not see the icons on the menu bar, and these must be clicked to connect to the internet. There does not appear to be a workaround, though I will admit that I have not played with the mac application thoroughly.
3. PDAnet is free, but there are limitations. To remove them, you must pay for a license. The most noteworthy limitation is that in the free version, you do not have access to secure web sites. These are addresses that start with https and require a login. The good news is that you get a 14 day trial of the unlocked program. This will help you decide whether you really want it or not. The licensing skeme is pretty liberal. You get a license for your phone, so you can install PDAnet on as many computers as you wish. As long as they are used with the same phone, your unlock code should work on multiple laptops, netbooks, etc.

I hope this information is helpful.

dimanche 6 mars 2011

Android Access Lets Users Review Apps for Accessibility

The following was posted to the Eyes-Free list today by J.J. Meddaugh of A T Guys.

A T Guys is pleased to announce a new website for the accessible Android community. Android Access offers information, ratings, and accessibility reviews for dozens of accessible Android applications.

Users can
• Post reviews of apps they've tried.
• View tips and tricks submitted by others.
• Learn more about how to get started with the Android operating system.
• Stay up to date with the latest news and features.

We are thrilled to bring this free service to the Android community, and look forward to your comments, suggestions, and submissions.

Click here to visit Android Access.

mercredi 2 mars 2011

Mobile Accessibility: Code Factory Goes Android

Mobile Accessibility: Code Factory Goes Android!

Features
• Touchscreen Navigation
• Speech Recognition
• Web and Email Access
• Nuance’s Vocalizer® Text-to-Speech

FOR IMMEDIATE RELEASE
Terrassa (Barcelona), Spain, March 2nd, 2011

Today, Code Factory is delighted to introduce Mobile Accessibility, a screen-access application that allows people who are blind or have low vision to use an Android phone in an intuitive, easy and simple way. Mobile Accessibility is the first accessible Android application that permits intuitive touchscreen navigation of Android phones, featuring text readback via natural sounding voices powered by Nuance’s Vocalizer® text-to-speech technology.

“Mobile phones have proved to be among the fastest-changing consumer technologies in the world – particularly with the advent of the Android platform. So making mobile phones accessible to the blind and visually impaired is therefore challenging, fascinating, thrilling and totally exciting all at the same time,” explained Eduard Sánchez, Code Factory’s CEO. “There was no doubt that we would target the Android platform, as we very quickly realized that there was a real need in this specific market for an accessible solution that can provide a user-friendly experience for all blind and low-vision consumers. Mobile Accessibility allows everyone, from beginners to the most tech-savvy, to use an Android phone, no matter if it has physical keys or is touchscreen-only.”

Mobile Accessibility Is Two Products in One:

• A suite of 10 accessible applications (Phone, Contacts, SMS, Alarm, Calendar, Email, Web, Where am I, Apps and Settings) that have been specially designed for the blind and visually impaired. They all have a simplified interface whose textual information is spoken using Nuance Vocalizer® voice synthesis.
• A screen reader that allows users to get out of the suite and navigate the standard interface of their phone.

“Mobile Accessibility provides both access to the mainstream apps of the phone and access to special apps for blind people. Why? Because our philosophy has always been to allow our users to use the phone the same way as everyone else. However, we also believe that having some special apps for the most common tasks can be extremely useful if it means gaining in productivity,” added Eduard Sánchez.

The Major Features of Mobile Accessibility Are the Following:

• Touch navigation: You can use Mobile Accessibility not only with the trackball or the physical keyboard of your phone, but also with its touchscreen! Simply move your finger around the screen and the voice synthesis will read the text located under your finger. Or if you prefer, you can also swipe up/down/right/left and tap on the screen to navigate through the interface. And if you wish you can enable sound and vibration feedback.
• Easy to input text: In or outside the Mobile Accessibility suite you can use the touch QWERTY keyboard as well as the speech recognition to write text quickly and easily. Imagine writing an SMS or an Email using your voice only.
• Voice synthesis: Code Factory has been making mobile phones accessible to the blind and visually impaired for many years now, and they know that the voice matters... and a lot! For Mobile Accessibility, Code Factory has partnered with Nuance® to leverage its trusted Vocalizer text-to-speech technology, providing consumers with natural sounding voice readback.

“With around 314 million visually impaired persons around the world, we believe that it’s our joint obligation to facilitate access to information and mobile communication to everyone” says Arnd Weil, VP & General Manager Automotive / Consumer Electronics, Nuance Communications. “By offering screen reader functionality for Android phones using Nuance Vocalizer, Code Factory gives blind and visually impaired persons access to one of the most important mobile platforms with the market’s most natural sounding and intelligible voices.”

Inside the Mobile Accessibility Suite of Accessible Applications You Can Do the Following:

• Phone: Make calls, answer calls, hear the caller ID and manage your call log.
• Contacts: Manage your contacts, even those from social networks such as Facebook.
• SMS: Compose and read short messages. Manage conversations.
• Alarms: Set your alarms.
• Web: Full web browser experience, similar to what you can find on your PC. Jump by the control of your choice (links, paragraphs, headings, forms, etc.) to navigate faster to the information of your interest. Bookmark your favourite webpages.
• Calendar: Create, edit and delete a calendar entry. View all events per day, week or month.
• Email: Full access to your Gmail account
• Where am I? : GPS application that gives you updates on your current location.
• Settings: Change ringtone. Configure feedback and notifications (vibration or audio). Configure keyboard echo, punctuation verbosity, speech pitch and rate, etc.
• Quick access to date and time, phone status information such as battery level and network coverage, number of missed calls and unread messages, etc.

To hear Mobile Accessibility in action listen to videos and audio demos.

Mobile Accessibility supports all Android phones from version 2.1 and above. Please note that voice recognition is only supported with version 2.2 and above. Note also that if you want to use the screen reader functionality of Mobile Accessibility you will need a phone with physical navigational controls such as a trackball or trackpad. Click here to find more information about Android phones.

At the time of this release Mobile Accessibility is only available in English, but soon Code Factory will release other versions of Mobile Accessibility for Spanish, Italian, German, French and Portuguese. Note that Mobile Accessibility doesn’t support multiple languages at one time. If you buy the English version of Mobile Accessibility you will not be able to use it in another language like French or Spanish. There will be a specific version of Mobile Accessibility for each language and each version will have to be purchased separately.

You can now get a Mobile Accessibility Demo from the Android Market and try the product for free for 30 days:

Click here for Mobile Accessibility Demo US.

Click here for Mobile Accessibility Demo UK

Soon Mobile Accessibility will be available for purchase through the Android Market at the price of 69 EUROS. You can purchase the application directly from the Market application of your Android phone, or from the Market web page. Before buying the app make sure to check out our website to see what carriers offer the product for free to their customers.

To learn how to use Mobile Accessibility for Android, please consult the user guide.
For technical assistance, please submit a ticket through Code Factory’s Help Desk.

For more information about Mobile Accessibility and Code Factory subscribe to the Mobile Accessibility mailing list.,
visit our website,
or follow the company on Twitter and use the hashtag #MA to talk about Mobile Accessibility.

About Code Factory

Founded in 1998 and headquartered in Terrassa (Barcelona), Spain, Code Factory is the global leader committed to the development of products designed to eliminate barriers to the accessibility of mobile technology for the blind and visually impaired. Today, Code Factory is the leading provider of accessible mobile applications such as screen readers, screen magnifiers, and Braille interfaces. Code Factory’s products are compatible with the widest range of mainstream mobile devices running on Symbian, Windows Mobile, BlackBerry Smartphones, and Android. Among Code Factory's customers are well known organizations for the blind such as ONCE in Spain, and carriers such as AT&T, Bouygues Telecom, SFR, TIM and Vodafone.

About Nuance Communications, Inc.

Nuance is a leading provider of speech and imaging solutions for businesses and consumers around the world. Its technologies, applications and services make the user experience more compelling by transforming the way people interact with information and how they create, share and use documents. Every day, millions of users and thousands of businesses experience Nuance’s proven applications and professional services. For more information, please visit Nuance.com.

mardi 1 mars 2011

TouchType Is Now Available

Nolan Darilek, the developer of the Spiel screen reader, posted the following to the Eyes-Free Android list. His new app is a free download from the Android Market:

Touchtype is an accessible on-screen keyboard for Android devices, inspired heavily by that found in Apple's IOS. Open source released under the Apache 2.0 license, Touchtype is useful even without the on-screen keyboard, as it also solves several accessibility flaws in Android's input-handling. Find it in the Android Market, or at
http://dev.thewordnerd.info/touchtype
where you'll also find installation and usage instructions.

Note: please read the *entire main page* before asking questions or offering feedback, as the FAQ addresses many of the most common questions I've received.

Enjoy.

I'll try popping into the eyes-free list from time to time, but for a quicker response, please ask any questions on the Spiel group.