Hello all!
Recently I've started using two seperate Android devices to read books
using FBReaderJ for Android, a NookColor, and my phone, a Sprint EVO
3D. Very quickly, I ran into a problem. I read the same books on both
devices, so I ended up spending a lot of time looking for my place
whenever I switched devices (I used the NC at home, and my phone
everywhere else).
I imagine that this must be a problem quite a few people are having,
or will be having as android devices become more popular.
So, I wrote an android app to synchronize my place in each book
between the two devices.
App Name: FBSync
Current Version: v1.0.26
Revision History:
1.0.26 - Removed Auto-Sync feature (hopefully just temporarily. I want to get this working, but the FBReader API just doesn't provide enough functionality to get it working smoothly). Removed syncing of "recent" books (It caused more trouble than it was worth, sorry, you will have to manually open your book if you changed books on another device). Added a "Sync" item to the FBReader menu that pulls up FBSync.
1.0.24 - Updated Dropbox support to use latest Dropbox API. Fixed Auto-Sync feature to properly sync new book positions (broken due to a change in FBReader). Due to limitations in FBReader, the Auto-Sync feature is still rather rough.
1.0.23 - Added a Dropbox support for your book position data, an Auto-Sync feature that makes use of the FBReader API, and (in theory) the program has been translated into Russian (thanks Dmitry!). If you have set up your own synchronization server, you will need to update the PHP files to the files in the attached sync.zip
1.0.19 - Fixed another bug that affected Honeycomb devices. Confirmed working on an Acer Iconia A500.
1.0.18 - Fixed a bug that affected Honeycomb devices (I hope!)
1.0.17 - Added "Alternate Sync URL" functionality for those people who want to set up their own sync server instead of using mine. See below for more instructions.
Requirements:
1) Root. Your devices must be rooted. This application only uses
root for two things. First, it uses root to get access to the
FBReaderJ books database, and second, it uses root to kill the
FBReaderJ process before it syncs the data (it has to kill the process
to force FBReader to reload the database).
2) FBReaderJ must be installed on the device (you will be prompted to
install it if you haven't already when you load my app)
3) You must have already opened FBReaderJ at least once, and viewed
it's library (Menu button, "Library"). This creates the databases
that my application needs.
Download:
An older version is available on Google Play, but the latest version can always be found at the bottom of this post.
Instructions for Use:
As of v1.0.23, you have the option of either syncing book positions to my web server, or to Dropbox. If you choose to use Dropbox, it will create a single file on your Dropbox account (under \FBSync) that contains the book position data.
If you desire to sync the book positions to my web server, you can also enable a new, experimental "Auto-Sync" feature that syncs your position whenever you open or close FBReader (or a book in FBReader). This functionality only works when using my web server, it does not currently work with Dropbox.
The auto-sync feature make use of FBReader's API and makes FBSync work as a plug-in for FBReader. Unfortunately the API does not contain all of the features needed to completely remove the root requirement for FBSync.
If you are going to use my web server to sync:
After you install it, go into the settings (blue icon, or menu/
settings), and enter an email (doesn't have to be an email, any unique
string will work) and numeric pin # (this isn't secure, so don't use a
pin you care about). The email/pin is just to uniquely identify you.
You should use the same email/pin on each device.
On the same screen, you can choose to sync the actual book files to Dropbox. Since your Dropbox account is used, only your account can access the books, if
you choose to sync them. It only uploads/downloads the books when it
needs them, so it may take a while the first time you sync, but after
that it shouldn't take more than a minute MAX (my typical sync times
for 90 books is about 5-10 seconds)
Click the middle, orange icon, to begin the sync process.
If this is the first time you've synced since selecting the "Enable Dropbox" setting, you will be prompted to allow FBSync access to your dropbox account.
The sync process first uploads, then downloads. It only updates the book's "place" on the web (or Dropbox) if it's farther ahead than the web's "place" for the book.
If you are using the Auto-Sync function, the above statement is not true. It always saves the exact position of your book upon closure of FbReader or closing the book.
Miscellaneous Info:
This program is still in beta. I have used and tested it extensively,
but I'm not liable if you manage to break it somehow. Since it does
alter the data in FBReader's databases (it does not, and never will,
alter the database structures), it is possible, but very unlikely,
that it could lose your book's places. I would suggest that you back
up FBReaderJ using something like Titanium Backup before you start
using FBSync, just to be on the safe side.
The synchronized book position data is currently hosted on my personal web server, or your Dropbox account (as of v1.0.23). Your book files are only stored on your Dropbox account.
UPDATE: As of v1.0.17, I added the ability to define your own "Sync Server". Here's how to use it:
In the Settings (Menu, Settings), there is a new option "Alternate Sync URL" where you can enter your own URL. Leave it blank if you want to use my server.
If you want to use your own, you will need the file attached to this post. I wouldn't recommend trying to set up your own server unless you are pretty comfortable with web servers, php, and mySql.
Sync.zip contains a .SQL script, and several .PHP files that are required to set up your own sync server.
The primary thing that you need to set up your own Sync server is a HTTP Web server that supports mySql and PHP.
On your server, create a new mySql database (name doesn't matter, just make sure there's a user attached to it that has insert/update/delete rights), then run the sql code in the sync.sql to create the two tables that are needed.
Edit the common.php file and replace the '' values in this block:
Code:
$dbhost = 'localhost';
$dbuser = ''; // Fill out the database user name here
$dbpass = ''; // Fill out the database user password here
$dbname = ''; // Fill out the database name here
with the correct values for your server. $dbhost can probably remain 'localhost'.
Then create a directory on your web server that is accessible from your devices, and put the 5 PHP files into it.
Launch FBSync, hit Menu, Settings, click the "Alternate Sync URL", and type in the URL that points to the directory you put those PHP files in (ex; http://sync.splitmatrix.net/alternate_sync ). You must start it with http://, and it should not end in a /.
After you enter the URL, save out of it, back out to the main FBSync window, and click the Sync button. If you set up everything correctly, it should sync to your server now instead of mine.
Please let me know of any issues you find, or any improvements you
want.
Thanks,
Scott
6/27/2012 Edit - Updated Sync.zip to remove some buggy code from addbook.php
Hi Scott,
I only have 1 device right now, so no need for sync, but I would be interested in how you can read your BN books with FBRreader. I have installed FBReader, but don't know how to read the books with it.
Also, I installed the dolphin web browser and clicked on a few epub links but nothing happens, is there a way to get it to bring up those files in FBRreader?
droidly said:
Hi Scott,
I only have 1 device right now, so no need for sync, but I would be interested in how you can read your BN books with FBRreader. I have installed FBReader, but don't know how to read the books with it.
Also, I installed the dolphin web browser and clicked on a few epub links but nothing happens, is there a way to get it to bring up those files in FBRreader?
Click to expand...
Click to collapse
I haven't actually purchased any books from B&N, but assuming the books you purchased are DRM free, you should be able to just move them into the \sdcard\books directory, and they should appear in the FbReader library. I believe, by default, the B&N books go into the internal storage, in the B&N Downloads\Books directory. Use a file manager like estrong's, astro's, or root explorer to copy them.
Via your web browser, save the epub books to \sdcard\books (or move them there after they download), and they'll show up. I don't believe that you can associate any book reader with epub files, I don't think android supports that. You have to open the book with the app, not the app with the book.
Scott
I use FBReader on multiple devices and would be extremely interested in such an app!
Thanks for your interest in my syncing app.
One pretty major requirement for this app is that your devices have to be rooted. Android doesn't like one app accessing another app's data, so the only way I could do it was to use root privileges.
It's still in beta, but you can download a copy of it at:
http://sync.splitmatrix.net/apk/fbsync.apk
Currently v1.0.9.
After you install it, go into the settings (blue icon, or menu/settings), and enter an email (doesn't have to be an email, any unique string will work) and numeric pin # (this isn't secure, so don't use a pin you care about). The email/pin is just to uniquely identify you. You should use the same email/pin on each device.
On the same screen, you can choose to sync the actual book files as well as their positions. It only uploads/downloads the books when it needs them, so it may take a while the first time you sync, but after that it shouldn't take more than a minute MAX, my typical sync times for 90 books is about 5-10 seconds.
Obviously you should have Fbreader already installed, and you need to have ran it, and gone into the library (menu/library) at least once (this creates the fbreader app database).
Click the middle, orange icon, to begin the sync process. It first uploads, then downloads. It only updates the book's "place" on the web if it's farther ahead than the web's "place" for the book.
Please let me know of any issues you find, or any improvements you want.
Thanks,
Scott
Cool
I just tested and it does work as stated. One question though, where is it uploading the data too?
Personal website, sync.splitmatrix.net. if the app takes off, i'll figure out something more secure and permanent.
Scott
Interesting. I'll try it out. Thank you!
One thing to think about however, especially if you open this up to general usage, is that by uploading/downloading the book file itself rather than just the current read-to position, you could potentially run into copyright issues. There is reason to believe that this could fall under Fair Use, but past rulings on similar commercial services for other media have been inconclusive. That may be a can of worms you don't want to open.
I am not a lawyer, but I do play one on web forums.
One thing I would try would be saving it on Google's servers through IMAP or something like SMS Backup does. Then no need to have to pay for a server. Don't know if it is at all possible but just thought I would see how you liked it.
RoboRay said:
Interesting. I'll try it out. Thank you!
One thing to think about however, especially if you open this up to general usage, is that by uploading/downloading the book file itself rather than just the current read-to position, you could potentially run into copyright issues. There is reason to believe that this could fall under Fair Use, but past rulings on similar commercial services for other media have been inconclusive. That may be a can of worms you don't want to open.
I am not a lawyer, but I do play one on web forums.
Click to expand...
Click to collapse
Yes, this is something I'm aware of. Not sure what I'm going to do about it yet. That's why it's a setting
Scott
qwerty017 said:
One thing I would try would be saving it on Google's servers through IMAP or something like SMS Backup does. Then no need to have to pay for a server. Don't know if it is at all possible but just thought I would see how you liked it.
Click to expand...
Click to collapse
The server it's currently on is hosted by a friend of mine for free, so I'm not concerned about it at the moment. If thousands of people end up using this, then obviously I'll have to make some changes.
Scott
I wonder if there's a way to store and retrieve the sync data with each user's Dropbox or something...
RoboRay said:
I wonder if there's a way to store and retrieve the sync data with each user's Dropbox or something...
Click to expand...
Click to collapse
I'd imagine that there is a way to do this, since programs like Titanium Backup support a dropbox interface.
If enough people think this would be a good feature to add, I can definitely look into it.
Scott
I'm just thinking that using each person's Dropbox would get you off the hook for not only server space and bandwidth, but also any potential copyright liability for book copies made by users synchronizing their files.
Valid points. I'll do some digging and see what it will take to implement the dropbox API in this app..
Thanks,
Scott
Edit: Updated first post with useful information - added download link.
Updated to v1.0.10 to fix a problem when used with the latest FBReader beta. Same URL as before:
Edit: Download the app off the market
Thanks,
Scott
This is a great app this is the missing link in fbreader. I hope you continue to support and enhance it.
Now that my archos tablet is rooted i can really enjoy it. I used to read my books on my phone and occasionally I still do.
Thx for the great work.
This looks like a dang good app. Since getting my nc i've quit using my evo for reading. This sync will bring joy back to my bathroom bbreaks at work!
Thanks for your kind words!
Since the last time I posted to this thread, I've added a dropbox interface to the program, and posted it to the Market (for Free of course!), so if you've downloaded the APK from the web, please re-install it from the market for the latest and greatest version.
Thanks again,
Scott
Oh, great! I'm checking out the Dropbox syncing now.
Edit: Works great!
If I may make another suggestion, you should post about your app at the MobileRead forum. I think you'll pick up a lot of users there.
Also, I know that the Android version of FBReader is different from the PC versions, but syncing with the Linux and Windows versions would be the icing on the cake. MobileRead might be a good place to find others wanting to help develop that capability
Yesterday I took a picture and wanted to send it to my brother. I wanted to send him a URL to an uploaded file so I could then share that URL with others in the future. I did not want to email a picture because, frankly, it's not as easy as pasting a URL in a GTalk window.
I spent about 10 minutes thinking of all the ways I could do this using Google services and couldn't find any way to do it on my phone. Here are the options I considered:
Option 1) Upload to Google Plus - but viewing the photo in G+ app doesn't provide a public link. SHaring option only presents your standard email, mms, etc. options.
Option 2) Upload to Picasa - but I get the same sharing options as G+ - no option to grab a link.
Option 3) Google Drive. This was the last option, but of course it only presents the same options as before. Now, I can create a public link when I'm at a computer, but not on my Android device.
So I ended up having to upload via the imgur app and just sending that link. I'm okay with that for now, but I'm already uploading to G+ automatically; why can't I just get a public url through the app?
That whole process was very disappointing. I wish Google would give us some way, any way, to share a file via URL through a Google App - specifically, Drive.
Does anyone know how to do it?
Dropbox can generate links, so after you can paste it =)
RoberGalarga said:
Dropbox can generate links, so after you can paste it =)
Click to expand...
Click to collapse
Thanks. Luckily that would solve it for any file type. I'm still just surprised that no Google apps have a way to do this. At least, none that I know of.
Yep, can generate links for any file. I recommend that put your files into Public directory (Photo directory could work, also).
Sounds like the consensus still is that Google apps have no way to generate a public URL to an image or file from your phone. That's disappointing.
Hello dear community,
I am looking for this for quite a while.
Is there an app that will allow me to create my own cloud based dictionary? I want to improve my language skills through creating my own dictionary.
The dictionary database has to be editable online (web based), since I would like to be able copy/paste detailed definitions from different web dicts.
And of course a sync-able android app that will allow me to check some words on the go or learn while in the train
"Now" dictionary is getting pretty closer to what I wish for, but it's only available for smartphones and no browsers.
"Anki cards" is cool too, but they focus on the flip-cards learning feature which I don't frankly need. I will be completely happy with a super simple searchable custom dict.
There are some apps that allow to create custom dict file and then upload it to the SD or whatever and use it. But I want to be able to add words constantly (web or on the go)
I'm thinking - there definitely is such an app, its just me who fail to search of it properly so please help )
cheers,
Kalin
Hi there!
I would like to encourage you to check out the Spreadsheet Memo app: http://spreadsheetmemo.com
Spreadsheet Memo is a flashcard-based learning web application (combined with the power of Google Sheets to store your content) that allows you to quickly memorize things.
Flashcards can bear vocabulary, major historical dates, chemical element names, math/physics equations or even types of dinosaurs
Simply put, any subject matter that can be learned via a question-and-answer format.
You can use it for your study, as a preparation tool, knowledge check for one of your exams or to practice new vocabulary.
Sky is the limit!
See more:
YouTube: https://www.youtube.com/watch?v=UReSmwT4O9E (everything you need to know about the Spreadsheet Memo app in one video)
Facebook: https://www.facebook.com/SpreadsheetMemo (news, helpful tips and updates notifications)
Twitter: https://twitter.com/SpreadsheetMemo
Example Document (updated with every new release; provides the examples of how to use the new Spreadsheet Memo features)
Chrome Web Store: https://chrome.google.com/webstore/detail/spreadsheet-memo/kkanmehahohgnfcncalgknpbnaiaomeb (you can add the Spreadsheet Memo to your Chrome Apps for quick access - this app is free, no ads and no hidden costs)
The main features and the main goals of the Spreadsheet Memo are:
It helps you to memorize things: and it works! Every lesson is composed with two rounds. The goal of the first (initial round) is to check your brain memory's performance (you reveal the answer and subjectively define its difficulty by choosing one of the following: "I knew it" or "I didn't know"). The second round (final round) is to make sure that you have remembered the new or troubling things. The progress of the current round is presented by the progress bars located near the Question/Answer cards.
Ability to use the Google Sheet documents to store your data: with all the benefits of Google documents like sharing, editing, printing, etc.
Compatible with mobile devices: you can use it on your computer but also on all kinds of your mobile devices. You're not bound to one device. So, whenever you've got some spare time, start the new lesson. You just need a web browser!
Multiple documents: you can use as many different documents as you want. All according to your needs! You can even use the Named Ranges feature offered by Google Sheets. This is a very useful way for slicing your Spreadsheet Memo documents to a smaller parts and describe those parts with friendly names.
Responsive: no unnecessary pages loading - clean, quick and simple.
You can add links and images to your content: sometimes the words are just not enough. You can add an image or a link to the internet resources to enrich your content. It could be especially useful when you prefer some additional visualization for being able to remember things quicker and better.
You can enrich your content by using Wiki Markup - supported types are: Text formatting, Indent text, Lists, Sections, External links, Images and YouTube videos.
You can add mathematical equations or formulas using the TeX or AsciiMath notation.
Your documents stay with you: by using the standard Google Sheet documents you're able to review and edit their content even without the Spreadsheet Memo app.
Secure and safe: all of your documents belongs only to you, no personal info is shared or collected, all connections are made with secure https protocol.
No ads or hidden costs: it's all for free!
Your privacy is very important and you have the right to remain anonymous.
The Spreadsheet Memo was build on the foundations provided by Google (Google Apps Script: https://developers.google.com/apps-script/) and uses all the benefits of this platform, such as:
integration with Google services (e.g. Google Sheets)
single sign-on (you don't need to remember yet another login/password. Let the Google manage and provide access to other apps, like the one to the Spreadsheet Memo app)
built-in security, stability, scalability and efficiency
This app uses the Google Authorization. Thus, when first launched, the Spreadsheet Memo will need your authorization to run. You can read more about it here: https://developers.google.com/apps-script/guides/services/authorization You don't need to know all about this - the most important info is that your email, login, password or any other personal info will NOT be passed to the Spreadsheet Memo. They will always remain your property.
Your approval of permissions will let the Spreadsheet Memo operate properly and with full capabilities.
And I'm fully aware that all the permissions might look pretty scary at first glance. And that is exactly why I've written all of this - trying my best to make you feel safe and making sure that you are well informed.
So, let me explain those permissions:
View and manage your spreadsheets in Google Drive, View and manage the files in your Google Drive - for being able to find the Spreadsheet Memo documents. This app operates only on Spreadsheet Memo documents, it has no access or even isn't aware of the existence of any other of your Goggle Drive files.
View and manage data associated with the application - for being able to store your preferences using the user properties (those preferences are private and are connected specifically with your Google account)
Allow this application to run when you are not present - for being able to run this app without additional login prompt, when you're already logged into your Goggle account - just to save your time (standard behavior of Google related products)
Know who you are on Google - standard permission to recognize you as a google user (no information is processed or collected)
View your email address, Send email as you: for being able to send you the welcoming mail (with short summary and information about your current Spreadsheet Memo assets). And the best part is that this email will be sent from your account to your account, never leaving your own context. So your email address, as well as your identity, will stay hidden and secure.
And If you don't like this app (something that, I hope, is unlikely going to happen ) you can always revoke its accesses (uninstall it). There are two ways to do this:
Just follow the instruction from https://developers.google.com/apps-script/guides/services/authorization#revoking_access_rights
or you can use the Uninstall option provided in the mail that you will receive from Google. It will be sent right after the first launch of the Spreadsheet Memo app. Look for the mail: "More information about Spreadsheet Memo with uninstall instructions." in your inbox. Any documents that you've created will stay in your Google Drive, nothing will be lost.
Wrapping things up: remember that all of your documents belongs only to you, you can uninstall this app any time you want, no personal info is shared or collected, your identity (such as email) is and will remain your own property. From the Spreadsheet Memo point of view, you're anonymous.
You can find some additional info about the Spreadsheet Memo at the https://www.facebook.com/SpreadsheetMemo page - including news, helpful tips and updates notifications.
I've been using flashcard-based apps for quite some time (Super Memo was great!) and I've found them very useful. But every one of them had some things that just doesn't work for me (e.g. troubles with data migration, lack of support for mobile devices, no statistics, etc.) - so I've decided to write my own.
One line of code to another and the idea transforms into something with its own domain name and Facebook/Twitter page.
So, feel free to check it out. And if you have any thoughts about it (like/dislike, opinions, reviews, ideas) please leave a comment. Thanks in advance for any feedback!
Jump to the http://spreadsheetmemo.com and start memorizing now!
The problem I am trying to solve:
When I tap on links that are in emails I receive from ebay, then I can only choose in which browser will these links will open and not ebay app itself (which is what I would prefer). Sometimes, instead of a browser opening, gmail app's built-in browser uses the link which automatically transfers me to the app, but that only happens a few times and without me changing any settings (I have only tried changing the WebView Implementation setting from Developer Options (my two options there are Chrome and Android System WebView) but that did not make any difference.
What I want to do:
A possible solution that I have found is an app called Open Link in App (play store link) which, as far as I understand, can be tweaked in order to open specific type of links with specific apps. Some instructions on how this can be done can be found in Github here (this link can also be found in the app's description in play store) but I am not techy enough to follow them. I suppose that the end result after following these instructions would be a modified apk, so could someone please do that for me? If the end result is not an apk but it is still possible for someone to help, that would still be welcome.
Ebay links that are included in the emails start with
Code:
https://rover.ebay.com/rover/
and somewhere in the address they include www.ebay.co.uk or www.ebay.com. Then, when they open in a browser, the address becomes
Code:
https://www.google.com/url?q=https://rover.ebay.com/rover/
and then just https://www.ebay.co.uk/ or https://www.ebay.com/
If you know any other way to achieve what I want, feel free to suggest it (although I have tried many things, including apps like Open Link With... and Better Open With and they did not work)
@k_o_t_s
Re-directing can be managed by editing Android's file /system/etc/hosts
For example, suppose you want to redirect your browser to www.google.com whenever someone types www.facebook.com in the browser address bar, then follows these steps :
Open hosts file.
Find out IP address of www.google.com - IP address is found out to be 74.125.53.100
Start editing at the end of the hosts file : Press Enter to start a new line.
Type 74.125.53.100, press TAB key once followed by facebook.com.
Save the hosts file.
Now whenever you (or someone else) types in your browser’s address bar www.facebook.com, he/she will be redirected to www.google.com. You can follow the same technique on any other websites.
@jwoegerbauer
Thank you for the reply. However, as far as I understand, this is in order to redirect an address to another address (that will still open in a browser). What I want to do is: whenever I tap on a link about an item within an ebay's email, I want ebay APP to open and show the listing of that item.