maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   Bounty on Auto-Scroll in FBReader (https://talk.maemo.org/showthread.php?t=27206)

killdeer 2009-02-28 16:02

Bounty on Auto-Scroll in FBReader
 
One of the biggest disappointments to me when I first got my n810 and installed FBReader was a lack of an Auto-Scrolling feature. So I'm wondering if it will make any difference if we offer a bounty. I know this sort of thing has been done before (though maybe not very well organized) and the FBReader Devs didn't seem to care. It's been on their "to-do" list since mid 2006. If it's an impossible task then let us know and it will be forgotten.

I offer that if an Auto-Scroll* type feature is added to FBReader I shall donate $10 USD to the developers. Is there anyone else who would join in?

*Auto-Scroll is defined as a method of scrolling the text, pixel by pixel, with no interaction from the user (other than to initiate it). It should probably include options in the preferences to control the speed.

pelago 2009-02-28 20:58

Re: Bounty on Auto-Scroll in FBReader
 
I like the sound of this. I use auto-scroll all the time on my desktop browsers.
Quote:

Originally Posted by killdeer (Post 267827)
Auto-Scroll is defined as a method of scrolling the text, pixel by pixel, with no interaction from the user (other than to initiate it). It should probably include options in the preferences to control the speed.

I realise it's a bit early to talk about implementation, but I for one would like to be able to adjust the scroll speed interactively rather than having to jump into preferences. E.g. press different parts of the screen for different speeds. Releasing your finger from the screen should make it continue to scroll though.

GeneralAntilles 2009-02-28 21:13

Re: Bounty on Auto-Scroll in FBReader
 
Not possible to implement for FBReader on OMAP2 hardware, as the speed of fullscreen updates (particularly with zlib) are just too slow to support anything but full page turns. Talk to lcuk about liqbase if you want smooth auto scrolling.

lcuk 2009-02-28 21:21

Re: Bounty on Auto-Scroll in FBReader
 
killdeer, I was also miffed off with coming from a pda with autoscrolling to one without..

The way fbreader is written would make it very difficult to directly translate the work I have started within liqbase into fbreader though.
However the new liqbase library will include a method to just open the screen and do the technical stuff, maybe someone else can go further from the fbreader side itself.

the other alternative will be to expand liqbook itself with the options required to read various formats. Its already under development myself and will be a documented document reader (just with document types I specifically need and others assist with).
Other formats could be coded and used directly from there.

Rebski 2009-02-28 21:35

Re: Bounty on Auto-Scroll in FBReader
 
Not only lack of auto scrolling but, for me, much more important is the lack of 'tap on a word to open the dictionary and display its meaning' facility.

This was a great feature in Tim Wentford's Opie Reader for the Zaurus http://www.timwentford.uklinux.net/

Put me down for a bounty for that feature too.

killdeer 2009-03-02 14:15

Re: Bounty on Auto-Scroll in FBReader
 
Quote:

Originally Posted by GeneralAntilles (Post 267900)
Not possible to implement for FBReader on OMAP2 hardware, as the speed of fullscreen updates (particularly with zlib) are just too slow to support anything but full page turns. Talk to lcuk about liqbase if you want smooth auto scrolling.

I figured as much.

It's amazing to me that n810 is so underpowered. I realize theres a lot more screen real estate but even an ancient device like my Palm Zire 71 can auto scroll the entire screen.

I suppose I'll give liqbase a try once I finish my current book. I've heard the suggestion before but I didn't act on it.

GeneralAntilles 2009-03-02 14:23

Re: Bounty on Auto-Scroll in FBReader
 
Quote:

Originally Posted by killdeer (Post 268273)
It's amazing to me that n810 is so underpowered. I realize theres a lot more screen real estate but even an ancient device like my Palm Zire 71 can auto scroll the entire screen.

It has nothing to do with "underpowered", it's just a combination of a poorly designed framebuffer (which is unrelated to the power of the CPU), and zlib's total lack of optimization.

You can't compare a Zire 71 (320x320) to the N810 (800x480) it only has to push updates to 1/4 the number of pixels, and that's a lot less intensive. The tablets are more than capable of smooth fullscreen updates, just see liqbase.

belanger 2009-03-02 15:53

Re: Bounty on Auto-Scroll in FBReader
 
Quote:

Originally Posted by Rebski (Post 267908)
for me, much more important is the lack of 'tap on a word to open the dictionary and display its meaning' facility.

As long as you have stardict running (with scanning enabled), a dictionary window with the definition will open if you select a word. Will that suffice?

a1mega 2009-03-02 16:18

Re: Bounty on Auto-Scroll in FBReader
 
Quote:

Originally Posted by killdeer (Post 268273)
I figured as much.

It's amazing to me that n810 is so underpowered. I realize theres a lot more screen real estate but even an ancient device like my Palm Zire 71 can auto scroll the entire screen.

I suppose I'll give liqbase a try once I finish my current book. I've heard the suggestion before but I didn't act on it.

Is the N810 really underpowered? After looking a the speed at which Liqbase operates, it makes me wonder if it is not something else.

lemmyslender 2009-03-02 16:39

Re: Bounty on Auto-Scroll in FBReader
 
I'm a little confused:

As killdeer points out above, General's first post seems to indicate that there is a hardware limitation preventing autoscroll in combination with software issues. He does imply that liqbase may be able to do it.

My first thought was, like killdeer, that hardware plays a role in this. Although, I do have liqbase installed, and it does just fine autoscrolling (Thanks, Lcuk). This would lead me to believe that it is a software issue, not hardware.

Generals' second post seems to indicate that it is software, with some hardware (framebuffer) issues, but again indicates that the tablets via liqbase are more than capable.

Since I assume that installing liqbase doesn't change my hardware, I assume that this can be achieved through software.

Therefore, unless I am mistaken, it would be possible (though perhaps very difficult, per lcuk) for fbreader to implement?

lcuk 2009-03-02 16:58

Re: Bounty on Auto-Scroll in FBReader
 
lemmy,
it would be entirely possible to make a system do autoscrolling right now.
however it would drive you crazy because the screen suffers from horrendous tearing artifacts when using the normal x11 pathways. I started liqbase by using the "normal" methods of updating but was really unhappy with how it looked with text.

I get round it by a combination of crazy coding and the choice of display mode I use.

liqbase lives in the XV video mode using YUV colors, normally used by media players to render movie frames and not used by any GUI software.

I have built the software stack from the ground up to operate as efficiently as possible at the expense of compatability.
Its not childsplay to expect the entire stack to be converted from its native RGB mode to the YUV mode and carry on as if nothing happened and would suck even more cpu trying.
Its something I have had to come to terms with but am happy right now because it gives excellent performance, not just here but on other devices I try it on ( and for different reasons - on faster machines liqbase simply requires less cpu and hence does not drain the battery as quick ;))

lemmyslender 2009-03-02 17:34

Re: Bounty on Auto-Scroll in FBReader
 
Thanks lcuk.

I won't say I thought it was something like that, cause I certainly wouldn't have guessed that, however, I did realize that you have done some amazing things to get liqbase to work the way it does.

So I guess the answer is possible but not practical on the n8x0's.

killdeer 2009-03-02 22:35

Re: Bounty on Auto-Scroll in FBReader
 
I honestly wouldn't ***** so much if the n810's zoom rocker wasn't so awkwardly placed.

Nikem 2009-03-02 23:19

Re: Bounty on Auto-Scroll in FBReader
 
PyBookReader does not have many features but at least it can auto-scroll. Maybe someone wants to create a .deb of it? :o (but nobody seemed interested in it in the last thread about auto-scrolling ...)

killdeer 2009-03-06 05:23

Re: Bounty on Auto-Scroll in FBReader
 
Maybe if I'm feeling lucky I'll try it out manually Nikem. But if it works well It might be nice if someone could port it over.

killdeer 2009-03-08 00:41

Re: Bounty on Auto-Scroll in FBReader
 
PyBookReader looks amazing. Display looks nice. It doesn't have all the features of FbReader but it has enough for me.

The scrolling works well. It does rip and tear at quick speeds. But for the speed that I need it to scroll while reading it seems to work fine with no problems.

Too bad it wont full screen. Is there a way to force it? If I could get that to work It'd be perfect.

Anyone interested in porting and optimizing PyBookReader for n810? I'll give you the 10 dollars instead.

attila77 2009-03-08 01:02

Re: Bounty on Auto-Scroll in FBReader
 
Quote:

Originally Posted by killdeer (Post 268425)
I honestly wouldn't ***** so much if the n810's zoom rocker wasn't so awkwardly placed.

? Maybe you're just not holding the N810 'right' ;) Tablet in left hand, portrait mode, the zoom (=page flip) comes right under your index finger. If you're left handed or prefer holding it in your right hand, it comes right under your thumb. Landscape mode reading (ick!) is left hand only. Although a lot of the ergonomy might depend on actual metrics (=palm/finger length).

VulcanRidr 2009-03-08 17:13

Re: Bounty on Auto-Scroll in FBReader
 
Quote:

Originally Posted by Rebski (Post 267908)
Not only lack of auto scrolling but, for me, much more important is the lack of 'tap on a word to open the dictionary and display its meaning' facility.

This was a great feature in Tim Wentford's Opie Reader for the Zaurus http://www.timwentford.uklinux.net/

Put me down for a bounty for that feature too.


I used to use this app on my Zaurus as well. Since scrolling can't be incorporated into fbreader, is there any chance of porting Opie Reader into Maemo???

--vr

VulcanRidr 2009-03-08 17:17

Re: Bounty on Auto-Scroll in FBReader
 
Quote:

Originally Posted by attila77 (Post 269719)
? Maybe you're just not holding the N810 'right' ;) Tablet in left hand, portrait mode, the zoom (=page flip) comes right under your index finger. If you're left handed or prefer holding it in your right hand, it comes right under your thumb. Landscape mode reading (ick!) is left hand only. Although a lot of the ergonomy might depend on actual metrics (=palm/finger length).

Thats one of the things that annoys me about the pdf reader. I read exactly as you said, Atilla77...But none of the pdf readers I have found so far (the default maemo one and evince) even begin to think about working in portrait mode, so I am stuck reading in landscape...Which, as you say, is quite irritating.

--vr

killdeer 2009-03-09 04:22

Re: Bounty on Auto-Scroll in FBReader
 
I normally read for about an hour every night. I've never been able to work the n810 one handed for longer than 20 minutes or so. I always end up with a sore wrist. I'm a small framed bastard :(

iskarion 2009-04-08 19:48

Re: Bounty on Auto-Scroll in FBReader
 
Just installed iSilo (the ebook reader I used to use on my old Palm Vx) in GarnetVM. Suprisingly iSilos Autoscroll feature is working just fine on my N800. No tearing.

Autoscrolling is almost as smooth as on my Palm Vx. If even Garnet VM can do this - and I guess the main focus in Garnet VM development isn't exacty on smotth scrolling - it can't be that difficutl for an ebook reader running natively on Maemo.

attila77 2009-04-14 08:13

Re: Bounty on Auto-Scroll in FBReader
 
1 Attachment(s)
Foreword: this is a tech demo. It's not related to fbreader source in any way (yet).

I did a quick'n'dirty Qt autoscroll test in the 'what can you fit in one page of source' and 'what's the bulkiest solution you can come up with' style. I'd like to ask you to rate the *visual scroll action* 1-5 (unreadable-perfect) on your tablet. You will need python2.5-qt4-gui (just apt-get it) for this one. If a kind soul records a video of and puts it up for the general public, I'd be grateful - I don't have a camera at hand.

If you're not a developer, have not cloned maemo to SD card or do not already have Qt installed, don't bother, skip it and hope someone posts a video.

Seriously. It just scrolls Lorem Ipsum.

EDIT: To answer some concerns - you don't need to be an uberhaxxor to run this, just 'apt-get install python2.5-qt4-gui' and 'python qthene.py' in the dir you extracted it in. It's just that qt4+pyqt4 is a big download/app if you're a 'regular' user who installs apps to the internal flash.

lbt 2009-04-14 12:54

Re: Bounty on Auto-Scroll in FBReader
 
4 - some tearing just visible

The line-at-a-time isn't that great :)

50% cpu


http://www.youtube.com/watch?v=PLdF84KZ3iQ (eventually)

lcuk 2009-04-14 12:58

Re: Bounty on Auto-Scroll in FBReader
 
/me considers dropping libliqbase.so somewhere and seeing what cpu usage and smoothness we can get ;)

attila77 2009-04-14 13:17

Re: Bounty on Auto-Scroll in FBReader
 
Quote:

Originally Posted by lbt (Post 279492)
The line-at-a-time isn't that great :)

Actually, the lines are only initially drawn one at a time. The scroll itself happens on the viewport level, so it doesn't really matter how many items are there (at least not on this scale). In fact, separate line items are good as the view does not have to render/clip text that has left the viewport. And of course, this way you have no document size limit.

Quote:

50% cpu
Yes, that's me. The scroll never 'really' sleeps, it just stops moving.

Quote:

Originally Posted by lbt

Thanks !

Quote:

Originally Posted by lcuk
/me considers dropping libliqbase.so somewhere and seeing what cpu usage and smoothness we can get ;)

I'm just looking for a 'good-enough' solution here, I'm sure that with lower level stuff you could do better (neither python nor qt are speed champions). The really-really big advantage here is that LITERALLY the same script/app works on the NIT, Linux, Mac and Windows (potentially even S60) without a single platform specific line if you have pyqt. Try it !

lcuk 2009-04-14 13:39

Re: Bounty on Auto-Scroll in FBReader
 
attila77,
i had the same thing with sdl - it worked on windows and linux and on the tablet.
the fact it wasnt good enough was what spruned me towards a better solution ;)

KristianW 2009-04-14 14:41

Re: Bounty on Auto-Scroll in FBReader
 
Quote:

Originally Posted by VulcanRidr (Post 269840)
...But none of the pdf readers I have found so far (the default maemo one and evince) even begin to think about working in portrait mode, so I am stuck reading in landscape...Which, as you say, is quite irritating.

--vr

Evince ( 2.21.1 ), that I recently installed, DOES support portrait mode.

In the menu under "edit" you find rotation commands.
Also the escape key rotates the screen 90°.
In full screen mode you flip pages just as in the standard pdf reader.

ePDFViewer also supports rotation but renders pages slower.

bousch 2009-04-15 16:15

Re: Bounty on Auto-Scroll in FBReader
 
Quote:

Originally Posted by killdeer (Post 267827)
*Auto-Scroll is defined as a method of scrolling the text, pixel by pixel, with no interaction from the user (other than to initiate it). It should probably include options in the preferences to control the speed.

Am I the only one that hates reading moving text? Even if it is smooth scrolling pixel by pixel it is not the most efficient way to read.

I'd rather have the first line of the next page written over the first line of the current page and so on. Then nothing moves and the screen is redrawn line by line.

attila77 2009-04-15 17:26

Re: Bounty on Auto-Scroll in FBReader
 
Quote:

Originally Posted by bousch (Post 279812)
Am I the only one that hates reading moving text? Even if it is smooth scrolling pixel by pixel it is not the most efficient way to read.

Different people have different preferences, of course. If given the choice, I also flip by page. However, autoscroll is probably one of the easiest ways to read WITHOUT using your hands (think about holding yourself on a bus, etc). Also, there are different types of autoscrolls, some are linear, some have a movement pattern (my demo above uses something closer to a sinusoidal cycle), some even vary letter sizes in the process. It's really just about finding which is the most convenient way to flip pages given certain physical circumstances.

lcuk 2009-04-16 17:54

Re: Bounty on Auto-Scroll in FBReader
 
theres an early SDL scroller test I did hosted here: http://liquid.googlepages.com/testfiles

(also an early early liqbase :D)
nothing more than academic and wobbly/tearing, but attilas app reminded me of it.


All times are GMT. The time now is 10:06.

vBulletin® Version 3.8.8