add documentation about free vs proprietary
[spray] / Readme.org
index c65798deb9a813cf0c7012ff35c5bae8ec5b19fa..18ea79b2b554c5bf002bda14f1e18121cb98102d 100644 (file)
@@ -4,6 +4,14 @@ A speed reading mode for Emacs.
 
 The algorithm is inspired from [[https://github.com/Miserlou/OpenSpritz][OpenSpritz]].
 
+
+** Screencast
+
+[[screencast.gif]]
+
+The story continues at [[https://www.gnu.org/philosophy/right-to-read.html][gnu.org]]
+
+
 ** Deficiencies in similar projects which spray.el solves:
 
 Mostly as of June 28, 2014.
@@ -44,11 +52,6 @@ Downsides compared to similar projects:
 - The emacs learning curve.
 - Would be hard to get running on a phone.
 
-
-** Screencast
-
-[[screencast.gif]]
-
 ** Installation
 
 Put spray.el into a "load-path"ed directory, and load it in your init
@@ -92,6 +95,7 @@ You may customize spray by modifying following items:
 - [Variable] spray-height
 - [Variable] spray-margin-top
 - [Variable] spray-margin-left
+- [Variable] spray-ramp
 - [Keymap] spray-mode-map
 - [Face] spray-base-face
 - [Face] spray-accent-face
@@ -103,9 +107,11 @@ In =./spray.el=, the functions =spray--word-at-point=, =spray--update= and =spra
 
 *** Algorithm translated from code to english
 
-Words are split at space, tab and newline characters, and if any of the characters =.!?;= appear in a word, a blank word is appended to the current word.
+Words are split at space, tab, newline, and emdash characters. If any of the characters =.!?;= appear at the end of the word, a blank word is appended to the current word. 
 
-Each word is displayed for (60 / the choosen wpm) seconds, except if the word contains : or , or is greater than 9 characters long, in which case it is displayed for twice as long.
+Each word is displayed for (60 / the choosen wpm) seconds, except if the word ends with ,:— or is greater than 9 characters long, in which case it is displayed for twice as long.
+
+When started, an added delay is optionally added, based on the spray-ramp variable. See it's documentation for details.
 
 The accent location is chosen as the nth character in a word, depending on its length, based on the following table
 | length | accent position |
@@ -118,9 +124,14 @@ The accent location is chosen as the nth character in a word, depending on its l
 *** Why?
 Based on a quick count, similar programs are implemented in 6 languages, 9 platforms and 11+ projects. Every one has a similar algorithm to choose a word, an accent character and an interval to display it. How to do that best is quite important. However, how each project does it is generally buried in unrelated code, and mostly undocumented. It is prohibitively time consuming to figure out the algorithm and differences between them for each project. This sucks. Users would like to know so they can pick one. Developers would like to know so they can get ideas and spread improvements among different projects.
 
-So, I am opening a bug on every project I find, asking them to document what file and function(s) their algorithm is implemented in, and preferably to document it in english as well. The following is an example.
+So, I am opening a bug on every project I find, asking them to document what file and function(s) their algorithm is implemented in, and preferably to document it in english as well. This section is an example.
 
 
 ** Contributions are welcome!
 
 There's lots of features and enhancements to do. The algorithm and interface could certainly be improved in various ways.
+
+** Freedom To Read
+
+It is important to use and develop free software for this kind or program. Proprietary software of this kind usually collects information about what you read, which often ends up being used for purposes you would rather it not: personal spying, government spying, advertising profiling, discrimination by corporations and government, and more. This kind of proprietary software can also be used as a tool for drm and censorship. You can read more comprehensively about these and other issues at places like https://www.gnu.org/philosophy/right-to-read.html, https://www.gnu.org/philosophy/the-danger-of-ebooks.html, https://www.eff.org, https://fsf.org.
+