yashsingh1/xdaforums huggingface dataset:
[Nook Touch Themes and Apps] marspeople:
I knew about this issue but couldn't solve it back then. I wasn't able to force a redraw from a background service. Now I've tried again, and using some delay trick it seems to work just fine!

See first page for updated version.
[Nook Touch Themes and Apps] puetzk:
Three cheers for marspeople!

Great; that fixed the antialiasing ghosts as I hoped it might, though there's still slight ghosting of the letters that can be cleared by "scrubbing" the scrolling over it. OTOH, looking closely, I think it's not that those ghosts get any lighter, it's that the rest of the background gets dirtier (e.g., the whole contrast deteriorates a bit). So a black flash might leave less ghosting (taking the hit right away on every pixel), but is also more initially distracting (and an initially worse image). Or it might turn out that that just leaves negative ghosts (e.g. the A2 black isn't as dark either). Six of one, half dozen of the other; this is probably as good as it gets :-)

Also, I see a minor (and maybe easy) bug; the button you used to flash white seems to have a border around it, which gets left as a ghost around the screen and gradually broken away as characters pass over it (just like antialias grays did before). At least it's only at the very edge of the screen now.

But this is very usable, thanks so much! Before it was hard to clear up if there wasn't anything black nearby to drag through the ghost.
[Nook Touch Themes and Apps] marspeople:
Good news, that last edge ghosting is gone now! :)

I don't understand why you think a black flashing would be better, but here is a version that does it so you can see for yourself.
[Nook Touch Themes and Apps] puetzk:
I shall do SCIENCE to it!

The reason I thought black flash might be better is that, at least on my screen, the "slow" white is noticeably (though not hugely) whiter than the "fast" white (presumably the flashed inversion when updating in "slow" mode is specifically to overcome hysteresis and make this so). So after flash to white+switch to fast, the letter forms leave faint dark ghosts at first as you scroll, because when they are erased to white they aren't as clean as the pixels that were always white. After you've scrolled around a bit, all the white background has been black at some point and is similarly dingy, so the ghosting is gone (but the image is worse).

My thought then was that a black flash when turning on "fast" mode might get directly to this dingy state, rather than leaving visible ghosts at first. Which is of course a tradeoff for consistent image, instead of an initially better image that suffers from ghosting.

It doesn't seem to work that way though; starting with a black flash leaves a background that's even dingier than scrolling around settles at. This seems to be because the flash is to "slow" black, which is darker than "fast" black, just as the whites is lighter. Just looking at the text, this was was not so obvious as the difference in whites, but it's very clear with (e.g.) the opera toolbar compared to the notification bar above it now that I have both variations to look at.

With the original version that didn't flash, it keeps its grayscale gradients (wasn't redrawn)

with the flash to white version it comes out about 20% grey (redrawn to "fast" black, which isn't near as dark as the "slow" black of the notification bar that wasn't redrawn)

with the flash to black version it matches the notification bar's black (since it's redrawn to "slow" black, then left that way)

If I call the "slow" white 100% lightness, I'd call "fast" black-> "fast" white (the ghosts we first turn on and what we eventually settle at after scrolling enough) 90%, and the background after "slow black" flash to "fast white" perhaps 75%.

So the initial ghosts from flash to black are at least as prominent as with flash to white (just negative), and the background contrast is lots worse. So back to white, and thanks for humoring the experiment :-)
[Nook Touch Themes and Apps] jjxs:
Thanks! Two ideas...

Thanks to the author and all the friends for this. I am from China, speak little English. Just some idea i want to say.

1st is that, after changes into A2 mode, if we alternate the screen with black and white flashes several times, (e.g. scroll a page with both white and black blocks), it will seem to be more "cleaner" (actually it's dirtier); so , maybe we can add a function , which swap the screen with black and white blocks some times after A2 is on for the first time.

2nd , i guess , in the A2 mode , maybe (or not?) only the pure white element can be processed as white , other all colors are treated as black.. e.g. colors 0~255, only 0 is white,all the 1~255 turn to black. So I think can we do that like this ? 0 ~ 127 = white, 128~255 = black. But as said before, the function is built-in the system, so perhaps it's just a "think".......
[Nook Touch Themes and Apps] osowiecki:
Today after boot i have found a dead pixel (constantly white) on my status bar.

I'm using "NoRefresh enabler" since the first "apk" showed up.

I'll inform if another one shows up.
[Nook Touch Themes and Apps] staylo:
The threshold seems to be somewhere between RGB 239,235,239 (renders as white) and 231,235,231 (renders as black).

I was able to get a dithering effect using the 'SD 3D viewer lite' app from the market, rendering a cube. When I rotated the cube to a certain angle I could see the dither effect when in fast refresh mode.

I used the 'droid vnc server' app to get a VNC session running on the nook*

I took a photo of this and compared the two to find the threshold. (see attached image)

I'll try and work from this to see if there are certain colour values which generate a dithering effect in fast refresh mode.

*it appears to freeze on 'starting server' but it's actually successful, you can connect to the nook's IP address at port 5901 at this point.
[Nook Touch Themes and Apps] staylo:
Confirmed, if you are using an OpenGL app with DITHER enabled you can get a basic dithering effect with the following RGB values:

- represents white

# represents black

235,235,235

###

### (all black)

###

236,236,236

###

#-#

###

237,237,237

#-#

-#-

#-#

238,238,238

---

-#-

---

239,239,239

---

--- (all white)

---
[Nook Touch Themes and Apps] marspeople:
Nice, I could also notice some dithering at facebook login page using Opera.

That's odd, but since NoRefresh mode isn't applied to the status bar (because it doesn't get redrawn) I think (and hope) your problem is not related to it.
[Nook Touch Themes and Apps] osowiecki:
Let us hope so.

I'm not going to stop using this "NoRefresh" solution anyways ;].

It's just very disturbing to have a dead pixel out of nowhere after using NST for 2-3 weeks.

EDIT :

Actually the pixel is on the right side of the screen (home button at the bottom). I use the device mainly in landscape mode in wich the pixel is on the status bar.
[Nook Touch Themes and Apps] Googie2149:
This is entirely off topic from what is currently being discussed, but what if this code were to be run on a normal Android device? Nothing?
[Nook Touch Themes and Apps] marspeople:
It would probably just crash silently because there is no N2EpdController class in the framework.
[Nook Touch Themes and Apps] mrWax:
ScreenAdjuster app

Hi ! I have tried ScreenAdjuster app from And. market. It look that it can do only worse, but still it is interesting thing to try.
[Nook Touch Themes and Apps] klausef:
PDF annotation under NoRefresh

I am on the verge of buying a touch for my classes but the lack of a good PDF annotator is kind of a dealbreaker for me, since that's the format all my textbooks are in. The builtin PDF reader is lacking in both features and functionality but it looks like most of the rooted PDF readers have too many animations to work well.

From what people have said here, it seems to be that ezPDF is where it's at but there aren't many references of how well it works with NoRefresh enabled. Can anyone shed some light on how well ezPDF, RepliGo, Foxit Reader or similar work under 2-bit grayscale?

Aside from that, 236³ -> 238³ is an awfully skinny gradient. In retrospect, OpenGL was probably created with color in mind.

Maybe some of you have seen this: http://www.opengl.org/documentation/specs/version1.1/glspec1.1/node100.html Since the framebuffer is in color (see http://nookdevs.com/Nook_Simple_Touch_screen_capture ) my guess is that someone could mess around with the way that formula is implemented to get a more reasonable dithering spectrum. Is there enough demand to start digging into this?
[Nook Touch Themes and Apps] osowiecki:
I always use "ezPDF" for PDF reading.

It works fine with "NoRefresh". The only con is that you have to Underline text instead of Highlighting it. (Highlight color is black in NR mode)

also :

Images are black, but you can view them by pressing home button. Press "home" once to run "Nook quick menu" and to view your image in greyscale. Press "home" second time to return to pdf. The image will remain gray as long as you don't scroll the page.

I'll post screenshots later.
[Nook Touch Themes and Apps] klausef:
Thanks! The device is on it's way. (c8
[Nook Touch Themes and Apps] marspeople:
I've just implemented a new feature I think you'll enjoy.

Now you can adjust contrast setting for the NoRefresh/1-bit/A2 mode. Images shouldn't be dark or black anymore if you raise the contrast a bit. Actually, thanks to the B&W dithering to imitate grey, they may look nice too! (see video)

This is a more "beta" version, you can download at first page post.

Now let's hope someone can make this thing also play videos. :p
[Nook Touch Themes and Apps] mrWax:
"always on" would be particullary handy for your app.

anyway, great contribution !!!
[Nook Touch Themes and Apps] SaltatorMortis:
cool work..

sad that its not possible to get the scroll/touch info on your overlay..

whats your plan for the future?

modify other apps that they call yours on touch/scroll?

or some other features??

keep your work up waiting for future releases
[Nook Touch Themes and Apps] brendan10211:
Add something to the NTT so that you can turn it on and off in the menu that comes up when you press the n button.

Sorry.
[Nook Touch Themes and Apps] dobbing:
Looks great marspeople, I can't wait for my Nook to arrive so I can give it a try.
[Nook Touch Themes and Apps] void_dp:
marspeople

Thanks for the great app. It turned upside down my understanding of the possibilities of NST.

But with this app running as service it seems that my NST began to consume a bit more %-s, so i kill or freeze service after using.

I would like you to consider simpler way to turn on\off noGestures version:

-To enable A2 mode with start and to full exit app when toggle off.

With use of "nook touch tools" this method will have great usability and no energy leaks.

And it seems logical to start A2 mode with already adjusted contrast.
[Nook Touch Themes and Apps] marspeople:
My next wanted feature would be a permanent A2 mode (avoiding system overrides). About modifying other apps, I can only think about APV PDF Viewer, which is opensource. Unfortunately, I can't modify Opera, which seems to be the only fully working browser.

If you use the noGestures version, the service should be 100% idle when not in A2 mode.

While in A2 mode however, it may be consuming some battery. Unfortunately, I need the background service because when I detect A2 mode was reseted by system, I need to turn "contrast" off, otherwise you would see overly bright shades of grey.

If I can achieve permanent A2 mode (avoid system to change screen modes while in A2), the service wouldn't be needed anymore except for gestures. I've tried changing epd driver permissions with no success. Suggestions are welcome.
[Nook Touch Themes and Apps] void_dp:
About system override:

I encountered unexpectedly useful bug with certain apps. It is possible to override system method to GU in all apps - opera, fora dict. etc..

And fullscreen refresh will be only when switching between windows, and wont override GU back after that, so its possible to change and launch apps with this.

To enable this i need 2 apps:

1. Relanch in launcher mode https:/_/github.com/yiselieren/ReLaunch[/url]

2. Perfect Viewer https:/_/play.google.com/store/apps/details?id=com.rookiestudio.perfectviewer

-In Relanch activate "GU+oneshot_all" method of refresh in settings (2nd of 3) with number of pages to full refresh.

-launch PV from Relauch

-With "Back" button exit PV (just switching out is not enough)

-launch PV second time and we see that method GU activates in PV, and after that in other apps is also GU.

-after this only reset of Nook retuns standart screen update.

This even overrides effect of NoRefresh enabler, and it cant enable A2 after this buged GU was on, without full reset of nook

Dont know if it will help with override of A2, but it seems possible..

ps: Not sure about full english lang. support in latest version of Relanch, but in 1.3.4 it is there.

pss: And sorry for my english :)
[Nook Touch Themes and Apps] bobstro:
I hope that this isn't an overly ignorant or stupid question, but could a plugin for Tasker be developed that would allow Tasker to detect when a specific app is running and make the adjustments automatically, in the back ground?

I understand that the current version can be called to toggle it on or off, so I can use Tasker now to (EDIT: run the program when launching an app that will benefit. The problem is that the current (as of today) version of this program toggles the setting when called, so there's not a way to know for certain what mode it's in, correct? Gaining control of the contrast settings automatically would be perfect. If not a Tasker/Locale plugin, maybe an app for on, another for off that can be called?

I'm using Tasker today to enable wifi when specific apps run, and otherwise turn it off.

(Using Tasker reminds me a lot of DOS batch files in "the (not so) good old days".)
[Nook Touch Themes and Apps] Renate:
I'm coming late to this party, but...

It seems to me that the best use of adjusting refresh would be inside applications.

I've got a full screen application that uses scrolling.

Right now I have it so that it only scrolls at the completion of the scroll motion.

It would be nice to have it switch to fast refresh at start of scrolling and switch back to normal refresh when the scrolling is done.

I've looked at the controller code and will give it a try.
[Nook Touch Themes and Apps] brendan10211:
Like I said, have an option to enable and disable it via the home menu bar thingy.
[Nook Touch Themes and Apps] Googie2149:
Get the No-Gesture version and use Nook Touch Tools, and start reading the entire post before you post.
[Nook Touch Themes and Apps] Renate:
Well, I tried to get my code working for changing the EPD method during scrolling of an app.

It's doing something because it screws up the refresh.

Still, I don't understand the parameters.

Could somebody tell me exactly what mode I should go into before and after scrolling?

new Object[] {0, 0, 600, 800, waveEnums[3], 16});
config = new Object[]{"RefreshMode", regionEnums[2], params, modeEnums[0]};

I've looked at the code and played with the value without getting the desired effect.
[Nook Touch Themes and Apps] marspeople:
Actually, you shouldn't need to modify code from N2EpdController, just use its methods. enterA2Mode() should initiate A2 mode (may cause some initial ghosting) and exitA2Mode() + setGL16Mode should get back to full refresh mode.
[Nook Touch Themes and Apps] mrWax:
no-refresh-scrolling:ghosting will screw it anyway

I dont know whether it is good idea since ghosting will screw screen anyway. "always on/off" - regardless what you do on nook seems to me make more sense.
[Nook Touch Themes and Apps] Renate:
Maybe, but I'd like to have this a bit cleaner. I'd like to do all the fumbling with finding classes only once.

Why do we have to use different number of argument calls for the A2 and the GL16?

If we knew what the defaulted parameters were we could use the full calls in either case.

What is the 14 or 16 at the end of the A2 calls which is not used in the GL16 calls?

What is the modeEnum at the end of the GL16 calls that is not used in the A2 calls?

That is to say, what integer goes on the end of GL16 calls and what modeEnum goes on the end of A2 calls?

Also, why to switch from A2 to GL16 mode do you have to do two different calls to setRegion?

If it were really understood, could we do this in one call?

(bunch of fumbling, find classes, enums, configurations, methods)

For A2: method.invoke(null, configA2);

For GL16: method.invoke(null, configGL16);

I guess that I'll have to go peeking in jars.
[Nook Touch Themes and Apps] marspeople:
I don't know much about how the EpdController class works internally, you might want to check this thread:

http://xdaforums.com/showthread.php?t=1183173

It says the location of the EpdController and stock reader screen refresh class (which is now at Reader.apk -> com.bn.nook.reader.ui.ReadingViewSimpleMode). You can use dex2jar and JD-GUI tools to decompile, but what you'll see is mostly what N2EpdController already does. For example, in enterA2Mode(), it also use two calls to setRegion.

If you want to dig further, you can download kernel source and check out the epd driver files (omap3ep*), but they are very obscure. I couldn't get anything useful from there. Good luck!
[Nook Touch Themes and Apps] Renate:
I've tried it with two calls to exit A2 mode, only the last seems to make a difference.

The scrolling works as well as A2 should, but when it switches back to GL16 it's never clean.

It doesn't help that all the examples I've seen are contradictory between the comments and the code or that they use numeric constants for everything.

Here's my contribution to legibility:

/* waveEnum indexes */
public static final int WAVE_GC = 0;
public static final int WAVE_GU = 1;
public static final int WAVE_DU = 2;
public static final int WAVE_A2 = 3;
public static final int WAVE_GL16 = 4;
public static final int WAVE_AUTO = 5;

/* regionEnum indexes */
public static final int REGION_4 = 0;
public static final int REGION_5 = 1;
public static final int REGION_6 = 2;
public static final int REGION_7 = 3;

/* modeEnum indexes */
public static final int MODE_INACTIVE = 0;
public static final int MODE_ACTIVE = 1;
public static final int MODE_ONESHOT = 2;
public static final int MODE_CLEAR = 3;
public static final int MODE_ACTIVE_ALL = 4;
public static final int MODE_ONESHOT_ALL = 5;
public static final int MODE_CLEAR_ALL = 6;
[Nook Touch Themes and Apps] osowiecki:
deprecated

1. Download a 'video'

2. Add subtitles to the 'video'.

3. Convert 'video' to GIF (Gifnija , Zamzar).

4. Run it in Opera Mobile on your NST (or in QuickPic).

or :

Find a way to convert your videos to ASCII

(http://www.asciimation.co.nz/)

TADA xD

FUTURAMA on NST:

[YOUTUBE]-1cnCB09qHE&feature=youtu.be[/YOUTUBE]

MP with Polish subtitles:

[YOUTUBE]Xb5NqLarjWE[/YOUTUBE]

[on 'NST' the video quality is better than what you can see on YT..my camera sucks]

Question :

Is there an easy way to navigate through a Gif file?

Eventually we can start a new thread.

EDIT:

Search for "fastmode" or "OC Kernel"

Also.. 'RockPlayer.apk' works better for playing videos.
[Nook Touch Themes and Apps] Googie2149:
And the Nook just became that much more epic.
[Nook Touch Themes and Apps] brendan10211:
Now just edit the front of the gif file to show a countdown, so you can sync up a sound track on your iPod or something.
[Nook Touch Themes and Apps] Googie2149:
Besides the fact that you'd have to make one for each song and start the GIF and song up at the EXACT same time.
[Nook Touch Themes and Apps] marspeople:
Great idea! I've uploaded a video of another example (also with a crappy camera).

[YOUTUBE]R92qSBU_WzA[/YOUTUBE]
[Nook Touch Themes and Apps] chriscsh:
Wow, it's rock.:eek:
[Nook Touch Themes and Apps] darkguy2008:
Holy crap this is AWESOME! I'm using it along with iDisplay to make up for the lack of a secondary monitor in my daily development work. THANKS! :D

I'm a bit worried about dead pixels though :(
[Nook Touch Themes and Apps] brendan10211:
My point exactly.

Why would you be worried?
[Nook Touch Themes and Apps] darkguy2008:
Because it was a bit expensive to get in my country (and we have a limited online coupon too, so it doesn't matter if I have all the money in the world), so I want it to last as much as it can without damaging it.

Dunno, it's e-ink display, brand new tech to me, but I suspect that those capsules can somehow get "stuck" inside their shell and not lower or raise due to this hack.
[Nook Touch Themes and Apps] mrWax:
ebookdroid works better than nice

ebookdroid app somehow keeps restarting your app so that it works unexpectly nice. when app changes display mode, ebookdroid somehow restarts your app, so that display is fast again. this could point to some posible "always on" mode. could your try to look into It?
[Nook Touch Themes and Apps] FFaser:
Im curious how long will driver and screen last under this kind of treatment. Google says the actual e-ink screen generation last 3.000.000 turnpages. In book reading mode it shoud last at least over 10 years. In video or game mode its prob in several weeks done(if driver hols that long) :))
[Nook Touch Themes and Apps] darkguy2008:
Someone should sacrifice a nook and see how long does it lasts xD
[Nook Touch Themes and Apps] Googie2149:
Well, my screen is already cracked, so I could see how long the corner that does work lasts running this. Anyone have a looping GIF I could try?
[Nook Touch Themes and Apps] FFaser:
Would be interesting)

Ive tryed this app and it seems like the driver doesnt turn off in this fastrefreshmode, even if the page doesnt change visually, its still sizzling if you hear closer.
[Nook Touch Themes and Apps] Googie2149:
That's normal for the E-Ink display. Try turning off NoRefresh and letting the "Slide to Unlock" screen display for a while, you'll hear it then too.
[Nook Touch Themes and Apps] FFaser:
No, only while the four arrows are refreshing. Usually when the screen doesnt change, you hear nothing.
[Nook Touch Themes and Apps] Googie2149:
That's what I meant. When the screen changes, NoRefresh or not, it makes the noise.
[Nook Touch Themes and Apps] FFaser:
And what i meant was that with norefresh nook make noise even if nothing on screen change.:)
[Nook Touch Themes and Apps] Googie2149:
Huh. That's kind of cool, actually, however bad it might be.
[Nook Touch Themes and Apps] staylo:
Thanks, that was a useful observation! I'd noticed when testing with a relatively CPU heavy application that power consumption didn't seem to vary between a static or moving image in A2 mode (iirc 12.5 hours of battery life with moving image, 13.5 hours with static image), but took this to mean that power consumption from the eink screen was negligable at the slow (~1fps) update rates I was using and that the CPU usage was responsible.

Sounds like that's not the case, and it's useful to know the only real test required is to listen to the screen :)
[Nook Touch Themes and Apps] wheilitjohnny:
I use this NoRefresh App very happily!

Combining with the multitouch mod, reading PDF is amazing.

This is exactly wt i expect for an e-ink PDF reader

http://www.youtube.com/watch?v=JDk8a0leP4U
[Nook Touch Themes and Apps] FFaser:
Neither i really know what is the power consumption of the screen itself and what is the consumption of driver (+ potentially cpu usage for drivercontrolling) compared to screen power consumption. Nor i know if that noise necessary means screen is refreshing.

Besides its not in every application the case. To be hoonest it was only one application, that reproducible show that behavior(i dindt tested it much):)

My coolreader and opera mini doesnt have it. So its on your own to test it in your application))
[Nook Touch Themes and Apps] fufutos:
I'm trying to install the .apk with ES File explorer, and I get the message "your phone is set to block applications not sourced in Android Market". How can I change this setting, or if not, how can I install the .apk? Thanks :-)
[Nook Touch Themes and Apps] cceerrtt:
use nook color tools, the setting is right at the first page.