rschroll / beru

The Basic Epub Reader for Ubuntu
http://rschroll.github.io/beru/
GNU General Public License v3.0
25 stars 12 forks source link

Page transition can be jarring #22

Closed popey closed 10 years ago

popey commented 11 years ago

Hullo. Reading a book I found the page back/forward animation to be quite distracting / jarring on the device. Perhaps there is a bug there, but in the meantime it might be nice to have an option to switch off the page turn animations. I made a video to show it.

https://www.youtube.com/watch?v=oNmr-Q6Y298

rschroll commented 11 years ago

I'm actually not a big fan of the animation either, but I put it in to get the swipe-to-turn behavior (I hope, see #5). But if you're tapping-to-turn, it doesn't do much.

It would be easy enough to add an option to switch between animated and instant page turns, but I'm a bit worried that we're already overloaded with options. My goal is to have something that just works, not something where you have to mess around with several pages of options to get something reasonable.

An alternative approach would be to do animated page turns for swipes and instant page turns for taps. This would require a little bit of mucking about in Monocle internals, but it shouldn't be too bad.

I think the layout problems on paging backwards are really a separate issue. Monocle tries to keep both the current page and the next page laid out, so when you page forward it can just swap them instantly and prepare the new next page while you're reading. But when you page backwards, it has to scramble to layout that page at the same time it's trying to show it, which leads to these problems.

rschroll commented 11 years ago

Could you try out the 'flipper' branch and let me know what you think? This implements the second approach, making taps produce instant page turns while swipes give the same behavior as before. I'm worried, though, that taps might be mistaken for small swipes and trigger the animation. This is hard to get a feel for with a mouse (and not just because of #5).

I'm also worried that these are different enough that they could confuse users a bit. Someone used to the swiping to produce the animation might not notice the instant page turn when then tap by accident, and someone used to the instant page turn may wonder what the animation signifies when they swipe by accident.

popey commented 10 years ago

Unfortunately that branch segfaults on my device.

__pthread_gettid -2 unknown option -- I unknown option -- appargs= loaded the dummy plugin loaded the Linux plugin Registered the AalSensorPlugin types

Segmentation fault (core dumped)

rschroll commented 10 years ago

That's quite impressive, since I only changed some javascript.

The fact that you're getting errors on the options suggests something else has gone wrong; I didn't touch that part of the code at all.
Don't know what, though.

rschroll commented 10 years ago

I've merged in some recent changes to the flipper branch. Perhaps these will take care of the seg fault.

rschroll commented 10 years ago

I've updated the flipper branch again, if you feel like giving it a try.

popey commented 10 years ago

Is there an updated click package I can test on device?

rschroll commented 10 years ago

Completely untested: http://rschroll.github.io/beru/tmp/com.ubuntu.developer.rschroll.beru_0.9.6_armhf.flipper.click

popey commented 10 years ago

Installed that on nexus 4 and have to say I can't tell any difference. It still seems a bit glitchy as I showed in the video. Happy to make another video if you need one.

rschroll commented 10 years ago

This change wouldn't help the glitchiness. It was supposed to turn off animations for taps. But I'm guessing that an actual tap looks like a little drag. I can probably put a threshold in there, but I don't know what that value should be. If you're willing to spend the time nailing down that threshold, let me know. It's all in Javascript, so you won't need to be compiling.

On Wed, Jan 15, 2014 at 4:32 PM, popey notifications@github.com wrote:

Installed that on nexus 4 and have to say I can't tell any difference. It still seems a bit glitchy as I showed in the video. Happy to make another video if you need one.

— Reply to this email directly or view it on GitHub.

rschroll commented 10 years ago

Switching to Oxide has improved performance on the desktop. I don't know if it's helped thing on the devices.

popey commented 10 years ago

Yes, it has.

rschroll commented 10 years ago

I'll close this issue, but I've opened #69 to consider ways to disable the page turn animation.