Hi,
I did up a home replacement for my Nook simple touch, thought I would share it. This is an initial release, no doubt there are bugs, incompatibilities, etc, you were warned. There are no checks for other devices at this point, NST only.
Thanks to the nook community for the noogie.img file, touch nooter, and relaunch for source code ideas and various threads regarding quick refresh and e-ink support.
Disclaimer: Now, what I am using currently is the bare minimum, I have tried quite a bit of the work in this forum and it works well, but I wasn't satisfied or 100% confident and I wanted less installed. So, I restored my nook to stock, used noogie and copied over a rooted ramdisk. That was it, no touchcolortools, nooktouchtools installed, adw minimal this or that, or button saviors. I am sure they are great programs but I don't know enough about them or have the interest/time to do research on them to want to keep them installed.
For me, the point is to keep things simple and maintain battery life. It's an e-reader not a tablet after all. I just want to read books, check email, check a website or two, get some more use out of wi-fi since I don't live in a B&N supported nation.
To install:adb install EPubBrowser.apk
Optional:
I also installed Email.apk and set up my gmail from there, no certificates required or a million google app files and plucking a chicken on a Tuesday after jumping on your left foot crap. No offense to those who like chicken plucking.
adb install Email.apk
Done and done.
I can do up a CWM zip upon request, but last going off I have a continuous reboot after installing the latest version and if you know enough to get the Nook's CWM installed you should be able to use adb.See attached files.
What is not working:
Since Android doesn't really know about multiple external storage locations (at least for the Nook's 2.1 and/or my knowledge of android) EPubBrowser is unable to detect when the internal storage has been remounted, there is no notification of that, just notification of external storage. So if you plug in your usb cord to the computer the list of books will be empty even when you remove it. So if you don't have an sdcard you will have to hit the back button and launch home again to refresh.
Also, B&N books are not listed, whatever is in My Files will be scanned only. That applies to internal and sdcard storage. You can still use B&N's Library to access those.
I don't have any option of uninstalling apps either. adb uninstall works fine or you can just delete files from /data/app via adb shell.
What is working:
Launch of EPubBrowser via nook's home button, without use of nooktouchtools, it duplicates how the B&N home app works.
The notification icon for resuming reading goes through the app. As long as the book was launched from EPubBrowser it can remember the last book, otherwise the main display will show up. Reason being that for whatever reason the last page read doesn't work with the B&N home screen if it's not a book bought from B&N. But if you are just using the B&N Reader app it's not a problem.
When you are prompted which home you want you can select EPubBrowser and hit default. This may not stay set and will go away the next time you reboot.
How to use:Left / right swipes to go to the next 6, previous 6 books, no indication of the current page is displayed, (e-ink and aesthetics).
Touch a book cover to launch a description of the book, swipe up and down to scroll through the description, touch the cover displayed there to start reading. Hit back button on top of screen to exit without launching a book.
To bring up the list of apps installed, swipe a clockwise circle starting at 10 O'clock. Touch an app to launch it, left or right swipe to go back to main screen.That's it for now.
If you have any ideas for improvements, bug reports, please provide as much detail as possible, and when you have done that add some more detail.
Cheers!
Updates:
2/19/2012:
Added screensaver for last read book. (Jpeg 75%) Settings->Display->Screensavers->EPubBrowser
11/4/2012:
Added src project
Looks nice! I'll give it a shot later when my Nook's charged.
Thank you for making and sharing, i am going to try tomorrow and tell you,
Improvements
First of all, thank you for creating this cool launch screen. I love the simplicity of it. Here are is brief list of improvement that you can perhaps easily implement.
-When on the homescreen with the covers of all the books, I am not sure if I am suppose to scroll down or to the right to view the rest of my books.
-When on the page with the details from the book, there is no back button to take you back to the homescreen. I end up using the button savior back button.
-The circle gesture that takes you to the apps does not feel very responsive to me.
Anyhow, great job. Can't wait to see how you plan on improving it
OW MY EYES
I installed this, and everything just kept flashing. GO Locker and GO Launcher are both broken, and the only way I could fix it was by getting into ADW and closing the task. Did I install it incorrectly? I put it onto an SD card and used ES File Manager to install it.
ChunC said:
First of all, thank you for creating this cool launch screen. I love the simplicity of it. Here are is brief list of improvement that you can perhaps easily implement.
-When on the homescreen with the covers of all the books, I am not sure if I am suppose to scroll down or to the right to view the rest of my books.
-When on the page with the details from the book, there is no back button to take you back to the homescreen. I end up using the button savior back button.
-The circle gesture that takes you to the apps does not feel very responsive to me.
Anyhow, great job. Can't wait to see how you plan on improving it
Click to expand...
Click to collapse
Hi,
Thanks for the feedback.
You swipe left to go to the previous page of books. You swipe right to go to the next page of books, assuming you have more than 6 books. Personally, I know what books I have on the device so it's not a problem knowing how many are left to see for me.
The back button should be on top of the screen in the middle, not sure why it wouldn't be there on yours. I will give it a think, maybe remove the scroll control in the book description and just use gesture detection and scroll the text via code.
Responsiveness and speed will likely improve over time, I am using the gesture library, maybe there are some optimizations there I can do.
Cheers!
Googie2149 said:
OW MY EYES
I installed this, and everything just kept flashing. GO Locker and GO Launcher are both broken, and the only way I could fix it was by getting into ADW and closing the task. Did I install it incorrectly? I put it onto an SD card and used ES File Manager to install it.
Click to expand...
Click to collapse
Hi,
Noted, so it doesn't work with GO Lancher/Locker. Never tried GO stuff, so that wasn't tested. It was tested with ADW and relaunch, and I had all the rest of your typical touch nooter install there without problems, android market, etc.
I have run it with Home.apk renamed to Home.apk.bak and that works fine as well.
As for your other question, if it is installed it is installed, there are no configurations to modify, however you get it there it should be fine.
Cheers!
WANT
Noted that it does not work with go, will have to get rid of that first.
From the screenshots, I can already tell you put time into polishing! Good job!
NFHimself said:
Hi,
Noted, so it doesn't work with GO Lancher/Locker. Never tried GO stuff, so that wasn't tested. It was tested with ADW and relaunch, and I had all the rest of your typical touch nooter install there without problems, android market, etc.
I have run it with Home.apk renamed to Home.apk.bak and that works fine as well.
As for your other question, if it is installed it is installed, there are no configurations to modify, however you get it there it should be fine.
Cheers!
Click to expand...
Click to collapse
I'll try it again without the GO software, but it was making everything just keep flashing, like the lock screen.
@NFHimself, any plans for taking this to github? It is very close to what I always wanted but I was also looking for:
- some kind of usage of Calibre data
- library filtering for series, highly rated, etc.
- tracking of books that are clicked to maintain sort of recent read filter
- sorting options by rating, series, and other Calibre properties
- option to display 6 or 12 (smaller) book covers.
I hope it already does use intents for selecting a different epub reader for those who have no defaults and multiple ones installed.
I know its a long list, and I have some Android experience. I am sure there would be other developers here so a combined effort might help.
Screenshots looks good, but on the Nook - only flashing screen like Googie2149 said
tazzix said:
@NFHimself, any plans for taking this to github? It is very close to what I always wanted but I was also looking for:
- some kind of usage of Calibre data
- library filtering for series, highly rated, etc.
- tracking of books that are clicked to maintain sort of recent read filter
- sorting options by rating, series, and other Calibre properties
- option to display 6 or 12 (smaller) book covers.
I hope it already does use intents for selecting a different epub reader for those who have no defaults and multiple ones installed.
I know its a long list, and I have some Android experience. I am sure there would be other developers here so a combined effort might help.
Click to expand...
Click to collapse
Hi,
I use Calibre as well, I just connect via adb and calibre picks up the nook and I copy books over and it converts on the fly, cool program. Using Calibre data is an idea worth looking into, if I can fit it into the theme of no preferences, no extra buttons or config. There are plenty of those kind of home apps already. Relaunch for one is great, just missing a graphical front end, I was going to mod that, but decided that I didn't really need so much stuff and I wanted to learn more android API.
I did up the app using pretty straight forward epub standards (note the plural), it works with most epubs I have run across, not sure if looking for extra xml is a good functionality vs performance tradeoff. I haven't been using EPubBrowser for very long myself, so when I add more books and find something annoying I will probably make changes to fix it. I want to keep things simple, if I need a preferences menu, it is already going the wrong way.
I am not specifying any class, just a regular launch this epub file intent, so it should work with any reader. I like the stock reader myself, cool reader seems to dislike some epubs I have above a certain size, and I didn't want to deal with it.
I may github it, I am kinda time limited these days.
Cheers!
AgentSlash said:
Screenshots looks good, but on the Nook - only flashing screen like Googie2149 said
Click to expand...
Click to collapse
Hi,
More details are needed to figure that out. What device do you have? What do you have installed on it?
Cheers!
I just wiped then manually rooted my Nook, and this works now. Although I'm having some trouble with getting to the apps page after the first time I did it. Could you possible change how you get to the apps page? Maybe change it so you have to click the menu key to get to apps.
Edit: Now that I've added my books, it shows me two books, one empty, and another book. Now it just flashes and removes/re-adds the last book. :/
Edit 2: I found that there are a few books that just don't like this launcher and cause the entire Nook to start flashing. I've been adding my books one by one to see which work and which don't and I'll try and find similarities between those that don't.
Great launcher replacement.
Running right now, but after the second page, I get sent back to the first, regardless of left-to-right or right-to-left swiping. Ideas?
Also, any chance for a page up/down use for scrolling through books?
I took a quick vid. It looks like when I swipe again from R to L, it tries to redraw the next books, but gets confused?
http://youtu.be/K1ukWFK0syg
ace7196 said:
Great launcher replacement.
Running right now, but after the second page, I get sent back to the first, regardless of left-to-right or right-to-left swiping. Ideas?
Also, any chance for a page up/down use for scrolling through books?
I took a quick vid. It looks like when I swipe again from R to L, it tries to redraw the next books, but gets confused?
http://youtu.be/K1ukWFK0syg
Click to expand...
Click to collapse
Hi,
I'm busy painting the baby's room, but it looks like it is resetting, perhaps one of your books is crashing the app and it is being relaunched as the home screen. Or could be some other bug, how many books are involved, if you remove one or add one, does it go away?
If someone could open the e-pub (it's a zip file) that causes the error and paste the contents of the .odf file (it's an xml file) , that would help.
Cheers!
NFHimself said:
Hi,
I'm busy painting the baby's room, but it looks like it is resetting, perhaps one of your books is crashing the app and it is being relaunched as the home screen. Or could be some other bug, how many books are involved, if you remove one or add one, does it go away?
If someone could open the e-pub (it's a zip file) that causes the error and paste the contents of the .odf file (it's an xml file) , that would help.
Cheers!
Click to expand...
Click to collapse
I've gone through and removed / added ebooks, and still the same problem.
Sorry, been kinda busy.
I need to be able to see the bug on my end to work on it. Maybe I've been lucky with the book selections I have made or converting using Calibre has set them all to have the same kind of format, vs the variety you might see in the wild from multiple sources.
Does the error happen with no books?
What happens when you have just one book?
How many books do you have on your nook? (If it's something like 1000 then yeah, maybe you'd have issues, no checks in the code for being out of memory.)
What firmware are you using?
Are there any hardware differences? (Can't imagine that being a problem, but I am using a NST, not the original Nook.)
What can I do to reproduce this error on my end? What are the steps?
Cheers!
NFHimself said:
Sorry, been kinda busy.
I need to be able to see the bug on my end to work on it. Maybe I've been lucky with the book selections I have made or converting using Calibre has set them all to have the same kind of format, vs the variety you might see in the wild from multiple sources.
Does the error happen with no books?
What happens when you have just one book?
How many books do you have on your nook? (If it's something like 1000 then yeah, maybe you'd have issues, no checks in the code for being out of memory.)
What firmware are you using?
Are there any hardware differences? (Can't imagine that being a problem, but I am using a NST, not the original Nook.)
What can I do to reproduce this error on my end? What are the steps?
Cheers!
Click to expand...
Click to collapse
For me, it doesn't matter how many books I have, it's just a few specific books that crash, independent of the other books in my library, and some books are more severe than others (one makes the entire Nook start flashing (all software), others make only this app flash).
I have the same problem as the people above but I can't get past the first page. I can't seem to narrow it down to a certain book making it crash. It's a shame I love this home screen, but hopefully we can get this fixed and running great.
I have a Pebble, which doing a great job of getting Android Notifications! I just wonder if I can do the same thing with Google Glass.
There are some notification forwarder on the Market now, however, since I am already running Tasker, so I wonder if I could use
Tasker + Google's Mirror API
to achieve same thing without running any other APP on my phone, nor on my Glass, and here it is: "Glasker"
"Glasker" encapsulated Mirror API's token and authorization process into several Tasker tasks so you only need to write simple tasker "Profile" based on trigger you want then send anything to Glass!
With "Glasker", you could:
1. Forward ANY Android notification (as far as Tasker can get) to your Glass.
2. Forward Music Track info on your Phone to Glass while playing by Phone.
3. All of communications are just between your phone, Google's cloud and your Glass. Nothing go through another server.
4. You tell me!
Before we start, here are the disclaimer:
1. As Tasker is just plain text, you can see everything how those tasks works. Please review the code before proceed and once you run the tasks, I am not responsible what happened to your phone, your glass, Google's cloud or your washing machine, etc...
2. I am NOT affliated to the author of "Tasker" nor "RESTask for Tasker". Thus I am do NOT know if any of them send your message somewhere else. Don't use this project if you suspect anything.
Okay, Here are the setup steps:
0. Install a Tasker plugin "RESTask for Tasker" https://play.google.com/store/apps/details?id=com.freehaha.restask This is used to send REST message to Google's cloud. (Tasker's internal PUT doesn't work here...)
1. Setup your OAuth2.0 Client ID and Client secret at https://console.developers.google.com/project (If you have no idea on what I am saying here, I will try to add a walk thru in 3rd post when I got time!)
2. Turn on your Glass and make sure it connected to your phone via MyGlass app. Make sure your phone and Glass can access the network.
3. Import downloaded "Glass.prj.xml" file into Tasker
4. Open task "TimeInZulu" and modify Variable Substract: %deliverytime, xxxxx according to your time zone!
In Taiwan (GMP+0800), xxxxx=8*60*60=28800
In LA, USA (GMP-0800), please change Variable Substract-->Variable add: %deliverytime, 28800
Other time zone please modify as needed or you will not hear a chime when message delivered to your Glass!
5. Run Task "Get Authorization 1" once and input your Client ID, Client secret (Those two variables will be kept in Tasker Variables in PLAIN text since it will be used later), than your default browser will fire
6. After grant yourself with the priviledge of "Glass timeline request", than you will be directed to a web page with a code. Please copy the code.
7. Return to Tasker, than run "Get Authorization 2" (hence Google's Two-Step Authorization....), than input the code you get from last step.
8. Let the Task run a while (10~20 second), then you should see a message on Glass says "My Notification forwarder Setup Completed!" (If not, lease scroll to right of timeline to see this message. It should be the 1st message)
9. Now, go back to Tasker/Profile than setup your trigger. (My default trigger are with Line, a Whatsapp like messanger very popular in Taiwan)
10. Profit!
If you find this useful, Thanks button is just a click away! Also, if you can make this project better, please also share what you modified here!
Profile explaination:
1. GlassConnected: Master switch for all sending profiles. I disable the forwarding of message if my Glass is not connected to my phone via BT directly for apparently security reason. In theory as long as both your Phone and Glass are connected to the network, you can forward message even they are at opposite side of the world!
2. SendLineMsg: Send message from Line, a Whatsapp like app wildly used in certain parts of world (4 billion active user!). You can modify this to any other messanger!
3. SendMusicInfo: Not necessary, it's just a demo to show it can send something else.
Task explaination:
1. Get Authorization 1/2: To get authorization from Google to allow access to Mirror API.
2. Remove All TimeLine Items: Utility task. As name suggests, it removes all timeline items created (only) by Glasker. It also reset several Tasker variables should you encounter problem. (No need to re-do Get Authorization)
3. Get Time Line: Used in "Remove All TimeLine Items" to get all timeline items created by Glasker
4. GetAccessToken: Utility task. Used to get new access token from Google (since token are temporarily and expires about 360 seconds). Usually you don't need to mess with this task
5. TimeInZulu: Convert local time to Zulu time. It seems Mirror API only accepts Zulu time format. (You need to modify this task based on your timezone as above step 4 or you wil not hear reminder chime when mesasge delivered
6. SendStaticCard: This task is used to send customized content to Glass.
7. SendLineMsg: Send nofication from Line app to the Glass. I update both "Boundle Cover" as will as content
8. SendMusicInfo: Send the music track info for the music playing at stock music player on your PHONE. (This is a demo of non-chimed Card send to glass)
Reserved
**Reserved**
This looks pretty cool. Sorry if I missed it, but does glass automatically turn on, visual, for each notification?
jewnersey said:
This looks pretty cool. Sorry if I missed it, but does glass automatically turn on, visual, for each notification?
Click to expand...
Click to collapse
Yes, you can make a sound when notification push to Glass. However, the Glass will not turn on the screen. (This is explicitly mentioned by Google that such ability will not be allowed in Mirror API, only for APP running on Glass itself).
What's cool here is that when you hear the notification sound, if you turn on the Glass in about 5 second (by touchpad or head-up activation), the Glass will show the notification card directly instead of the regular card with time.
The task of "SendLineMsg" is an example to have a card with notification sound, while "SendMusicInfo" doesn't have sound.
Got any way to go the other way? From Glass to phone? Would be great for voice commands for home automation.
Frunple said:
Got any way to go the other way? From Glass to phone? Would be great for voice commands for home automation.
Click to expand...
Click to collapse
Yes, it's possible to go the other way (from glass to Phone). However you need to run a HTTP server on your phone.... The whole Mirror API is two way...
I was thinking to have Tasker to enable/disable the HTTP server on phone based on the message sent (to save phone resource-->Battery when no message are needed) but don't have time to do it yet...
You are welcome to make modification here!
I don't understand step 4. I'm supposed to change variable from subtract to add?
foxdog66 said:
I don't understand step 4. I'm supposed to change variable from subtract to add?
Click to expand...
Click to collapse
It's depends on your time zone. If you are in US, you need replace the "Variable Substract" action with "Variable add" action than put your time zone difference in second.
I'm trying to use this to forward YouTube videos to glass. Getting close I think.
foxdog66 said:
I'm trying to use this to forward YouTube videos to glass. Getting close I think.
Click to expand...
Click to collapse
Any luck on this? Does the timeline card open up the correct application? Can I send myself a location from my phone and open it up with maps on glass? This would be awesome!
Does this still work without MyGlass ?
Ok first of all im not good in english, do'nt:silly: blame me
Since i got the moto 360 i was looking for any watchface with cool animations. There was difficult to find what i was looking for. But, I found watchmaker and i got really good looking watchfaces on face repo. I read some of the Lua Watchmaker wiki and try to aply animations. No luck. But i asked a few times in Google+ community and i got the understanding. Now i will try to post what i think is one of the most beautiful and simple animation i've had on my mind since smartwatches appeared on the market. I would recommend you to do this in a copy of your watch face because if you are not too experienced you can modify a misunderstood value and you have to download the entire watch face again.
EDIT: Corrected error on "on_display_bright()"
Instructions:
1 - Find a watchface you can edit, go to the script and write this code because it makes the magic:
Code:
tweens.rotate_sec=1
tweens.rotate_min=1
tweens.rotate_hour=1
function on_display_bright()
wm_schedule {action='tween', tween='rotate_sec', from=0, to=1, duration=1.5, easing=inOutCirc}
wm_schedule {action='tween', tween='rotate_min', from=0, to=1, duration=1.3, easing=inOutCirc}
wm_schedule {action='tween', tween='rotate_hour', from=0, to=1, duration=1, easing=inOutCirc}
end
(*You can change all the values of duration and easing, but you will find more easing functions on the Watchmaker Lua Wiki
2 - Now you have to find the 3 gauge layers and edit the "Rotation" parameter. In most of cases you will find:
{drs} on seconds
{drm} on minutes
{drh} on hours
(*this can vary in many cases like {drss} simulating automatic watches but the important thing is the layer (parenthesis in a parenthesis (i really like {drss}))) -> ok pls staph!
you have to change "Rotation" parameters in each layer to this:
on seconds
Code:
tweens.rotate_sec*{drs}
on minutes
Code:
tweens.rotate_min*{drm}
on hours
Code:
tweens.rotate_hour*{drh}
3 - Send to the watch.
I recommend to set the "Display" parameter of this 3 layers to Bright only if you don't use it in ambient mode. The main reason is unless you do it, if you wake up the watch a lag occurs between last position of gauges before slept and the animation, and it looks weird. You can try it.
I hope you enjoy it, because it is easy to implement it to your watches and I think it's really cool.
Tell me if it works for you and if you like it. Post any variation of this code if you want to share it.
I can't post any watches due to commercial or non-commercial terms of use so i just post a video.
I can' post links because i'm new here but you can copy and paste in your browser and it works.
Regards
EDIT: here's a video of one of the examples:
dropbox.com/s/if7qa0z9mcv3sf8/VID_20150602_021553.mp4?dl=0
I'm getting an error on the script...also getting an error on the rotation values. I just copy/paste them in there...didn't free write them at all. you sure the code is correct? I know nothing about scripting so I can't find whats wrong.
it says 5: '(expected near'_display_bright' as the error code
any thoughts? running the beta app
There was a mistake on "function"
Hi, sorry about it, there was a mistake on the next lines:
A space between "on" and "_display". It should be written "on_diaplay". thats all
function on _display_bright()
function on_display_bright()
You know green is the correct way forget the red marked line because is the error, everything seems to be correct now.
moracabanas said:
Hi, sorry about it, there was a mistake on the next lines:
A space between "on" and "_display". It should be written "on_diaplay". thats all
function on _display_bright()
function on_display_bright()
You know green is the correct way forget the red marked line because is the error, everything seems to be correct now.
Click to expand...
Click to collapse
that did it...looks fantastic!
On my LG devices, I had a Smart Settings manager that turned on wifi, changed my phone vibrate to ring, etc...based on location or time.
I have been using Phone Weaver on all of my devices to do similar things for years. But U was wondering if there was a better option out there?
Any idea?
Assistant is fairly good at doing that but as far as I know you need to command it by saying "good night/morning" "I'm home/leaing" etc. Not sure if that would meet your needs but it's on there if you want to scope it.
krabman said:
Assistant is fairly good at doing that but as far as I know you need to command it by saying "good night/morning" "I'm home/leaing" etc. Not sure if that would meet your needs but it's on there if you want to scope it.
Click to expand...
Click to collapse
Never even thought to use assistant
krabman said:
Assistant is fairly good at doing that but as far as I know you need to command it by saying "good night/morning" "I'm home/leaing" etc. Not sure if that would meet your needs but it's on there if you want to scope it.
Click to expand...
Click to collapse
can you use assistant to run commands on the phone or just Google Home devices? I see that I can set routines with the HOME app but it only seems to work for my HOME devices.
Any ideas?
No, it can run on a Goog home speaker or any recent android phone. You can adjust one of the ready made routines or create your own with preset or custom commands in it either way you go. Probably best to youtube a how-to video, it would be the easiest way to figure it out. Or you can go into routines and click around until you get it. Once you'v got one set up you can just enable the assistant, give it your command, and it will follow the routine.