Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Perception expander plugin (Improve peripheral vision) #2447

Closed
apletnev opened this issue Dec 21, 2016 · 11 comments
Closed

Perception expander plugin (Improve peripheral vision) #2447

apletnev opened this issue Dec 21, 2016 · 11 comments

Comments

@apletnev
Copy link
Contributor

  • KOReader version: all
  • Device: all

Issue

Based on that idea: How to Triple Your Reading Speed in 20 Minutes (Tim Ferriss) implemented the same approach (two vertical lines) for koreader.

I've some disscussion about it with @houqp in #2397 so currently it is not work as a plugin. For more info read #2397
Guys, take a look at the video, and provide your feedback e.q. plugin name, settings, etc.

perceptualexpander

@AlanSP1
Copy link

AlanSP1 commented Dec 21, 2016

This looks like great idea. I like Ferris's books, learned a lot from him before.

Main thing is, people will need to learn what this plugin is all about, how to use it. We will need instructions for that (and for many other things).

But, I like it and I would like to have this included and being able to use it. And learn how to use it properly.

For name, something along: Speed read module?

@houqp
Copy link
Member

houqp commented Dec 22, 2016

I like this feature too, good work :) Are you using the alphacontainer to draw those lines? If not, I recommend using it. The name speed read might be too generic. Perception expander is actually not a bad name :P I hope we can have more tools in the future to help people train their reading speed.

You don't have to implement it as a plugin for now. I can help refactor it into a plugin later.

@KenMaltby
Copy link

"Speed Reading Trainer" sounds practical. "Perception expander" sounds philosophical. I prefer the practical,

@houqp
Copy link
Member

houqp commented Dec 23, 2016

What happens when we add other speed reading trainer plugins in the future? How about adding perception expander as a submenu under speed reading trainer menu?

@retrue
Copy link
Contributor

retrue commented Dec 23, 2016

Imho, adding perception expander as a submenu would make sense only and when there are other speed reading trainer plugins for KOReader.
If it is added in a submenu now, it would only add another step to reach the plugin, without any advantage.

@houqp
Copy link
Member

houqp commented Dec 25, 2016

If number of clicks is a concern here, how about naming the menu entry as Speed reading module - perception expander? We have more than enough space to hold this string in the menu.

Giving this plugin a generic name such as speed reading trainer will cause two problems down the road if we are going to add more speed reading training features in the future:

  • inconsistent UX, user who are already familiar with the generic name now need to learn that the old module is renamed to perception expander and the old name is a new top level menu entry with a sub menu.
  • requires code refactoring, now all reference to speed reading trainer needs to be updated with the new name

@houqp
Copy link
Member

houqp commented Dec 25, 2016

@apletnev I have made the readerview module pluggable in PR #2454. Now you should be able to implement everything in a plugin. All you have to do is put this into the init method:

function PerceptionExpander:init()
    self.view:registerViewModule("perception_expander", self)
end

function PerceptionExpander:resetLayout()
    -- screen resized, update width and height accordingly
end

@apletnev
Copy link
Contributor Author

@houqp Thank you. going to rewrite as plugin module. Will register it in menu as "Speed reading module - perception expander"

@poire-z
Copy link
Contributor

poire-z commented Jan 2, 2017

A small thing:
I think PerceptionExpander:onSaveSettings() ( 2bc1be9#diff-8a9416d5c212fd39ee25121820043bb8R193 ) is unecessary.
You're already doing all the explicite self:saveSettings() needed whenever a setting is changed.
This onSaveSettings() makes the file being rewritten unchanged on each suspend/exit, and created even if people have never used the plugin.

@houqp
Copy link
Member

houqp commented Jan 3, 2017

Agree, feel free to submit a patch.

@Frenzie
Copy link
Member

Frenzie commented Apr 2, 2017

Implemented plus the issue pointed out by @poire-z was fixed in #2487, so I'm closing this now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants