Read Etexts

From OLPC
Revision as of 19:59, 23 May 2008 by Jdsimmons (talk | contribs) (Planned Features)
Jump to: navigation, search
  english | español한국어 HowTo [ID# 132792]  +/-  


Readetexts.svg
Version 2
Trac print.png Tickets all - active - new
Translate-icon-55px.svg Pootle Localization
.POT file NEEDED
OlpcProject.png James Simmons
mime plain, zip

see more templates or propose new

Description & Goals

  For the general public

"Outside of a dog, a book is man's best friend. Inside of a dog it's too dark to read." -- Groucho Marx

The Read Etexts activity is meant to allow the XO laptop to read Project Gutenberg ETexts, which are plain text files. The core Read activity will eventually support this, so you can consider this activity to be a useful stopgap. If you have a choice between a text file and a pdf, you may find that the text file is easier on the eyes than a pdf, takes up less space in the Journal (especially in zip format), and uses less memory to read.

The interface to Read Etexts is very similar to the core Read activity, which should not be surprising as the toolbar code was adapted from Read's toolbar. You can use the up and down arrows or the game controller to scroll pages, and the '+' and '-' keys to adjust the font size. Use Page Up and Page Down to move to the previous and next pages respectively.

Project Gutenberg is a website where you can download thousands of public domain books for free. There are books for every interest: classics, history, childen's novels, science fiction, and much, much more.

Read ETexts can read books in plain text format or in Zip format. These are by far the most popular formats on the Gutenberg website. If you are downloading books using the Browse activity you should download one of the Zip file formats. This can be encoded as us-ascii text or as iso-8859-1; Read Etexts can handle either one. The iso-8859-1 encoding is used for books that need accent marks, etc. Save the Zip file to the Journal, change the Journal entry name to match the title of the book, and then resume it using the Read Etexts option on the Resume menu. See the first screenshot.

Screenshots

Launching the Activity from the Journal
The Read Etexts Activity in action
The Read Activity, for comparison

Current Features

  • Currently Read Etexts can be used to read Gutenberg Etexts, either as text files or as zip files containing one text file. The toolbars include Activity, Read (skip to page), Edit (copy to clipboard, search for text) and View (zoom text bigger or smaller).
  • Book sharing is supported. When you share a book the recipient of the book will see a report of bytes downloaded and total bytes on the toolbar.
  • The power management code from the core Read activity has been added, with a few minor changes, and seems to work OK.
  • A new feature that is not completely usable yet is text to speech with Karaoke highlighting. The eventual goal is to produce a tool to help someone learn to read. Support for text to speech on the XO laptop will be done using speech-dispatcher and espeak. Speech-dispatcher currently is not part of the software included on the XO, but that should change sometime in the future. You do not need speech-dispatcher installed to use Read Etexts, but you will of course not have text to speech working unless you do. Currently there is a problem where the words being highlighted fall behind those being spoken. This may be an issue with speech-dispatcher. If you want to try this out you can install speech-dispatcher and espeak on a computer running sugar-jhbuild and configure speech-dispatcher to use the espeak module. You can start speaking by pressing Numric Keypad End (the "checkmark" key on an XO). This should also pause and resume speech. I say should because at the moment that doesn't work either.

Sharing Documents

This activity uses code adapted from the core Read activity for document sharing over the network. To share a document with someone that person must also have the Read Etexts activity installed, and it must be version 2 or better. You can invite an individual to join the activity or share it with the whole neighborhood, but either way only those who have the activity installed will see the invitation.

When someone accepts the invitation to join the activity a copy of the document is sent to his computer for him to read. When he exits the activity the document will be saved in the journal. The Journal entry will be titled "Read Etexts Activity", not the title of the book. Of course the recipient can modify this title to match the actual title of the book, but the activity currently will not do this for her.

If the document is being shared anyone resuming the previously shared activity will re-download the document. If the document is not being shared the current copy in the journal will be opened.

This is a bit different from the core Read activity because I actually save a copy of the received document in the Journal, whereas Read does not. If you try to resume a shared Read activity when the document is not currently being shared you will get an empty document.

Planned Features

  • Nothing new planned at the moment. I'm going to focus on getting TTS working better.

Activity .xo file


Bugs

  • The activity, like core Read, uses metadata to save the page number the reader was on when the user exits the activity, and it should go to that page when the activity is resumed. This works while the XO is running; you can exit the activity, go do something else, then resume the activity and it will return to the correct page. However, the metadata will not be present after you restart the computer, so resuming will take you back to page 1. This is actually a bug in the Journal activity, but since this is the most common complaint against the Read activity I thought I should document the problem here.
  • When changing font sizes, the first attempt to change the font size will produce a font that is comically large. After that you can adjust the font size with no problems. I cannot recreate this bug in my Xubuntu test environment. It only happens on my XO.
  • Text search is currently case sensitive, and if the word being searched for appears twice on a line only the first one will be found and highlighted. Fixing this should be simple, once I get around to it.
  • Sharing documents does not always work, for reasons explained in the "Bugs" section of the View Slides activity.
  • There is no word-wrap feature for books with long lines. At the moment I consider this more of a feature than a bug, because all of the many thousands of Project Gutenberg Etexts available use a standard line width so word-wrapping isn't really necessary.

Source

http://dev.laptop.org/git?p=activities/readetexts