We have ebook readers in mac, window, iOS, Android, etc. Recently, I'm working for the ebook reader for mac, window. Now, when user goes to a bookshelf, or goes into pages of a book, synchronizing starts. But it's difficult to know for user. I'm gonna think of a sync button(so, user can push this button when they want to synchronize the pages, annotation, bookmarks, etc between devices), but it can give an kind of damage for a server. Because user can push the sync button automatically. So I have to fix the exact condition. For example, when user switches to another application, synchronizing starts like that. Gives me suggestions! Anything is ok. Thank you for reading. :)

  • I'd just like to throw in that your UX should not suffer at the expense of minor server costs. In theory this should actually be a pretty lightweight operation, so it may be worth inspecting how your backend can be improved.
    – Jack Guy
    Commented Dec 10, 2015 at 16:59

3 Answers 3


With Kindle, synchronisation just happens, and it is very useful. Occasionally, my Kindle asks me if I want to sync to furthest page read, and my immediate thought is always "of course I do, why are you asking me?"

I cannot think of a use case for not synchronising across devices, except perhaps when the user is connected via 3G instead of wifi or 4G.

If you have a use case for not synchronising, then I would suggest doing it by default, but allow the user to change it in user preferences, as follows:

sync my options depending on connectivity

(the bullet points in the image represent checkboxes - I haven't got my usual wireframing app available)


Always push the state to your service when it changes. Your service should simply not accept state changes that transition from an older then stored state to their current state. In this situation a status response should indicate that a newer state is available and the application should sync. Make opening a book a state change and everything should just work seamlessly for your users.


Even though this is a very rough design and I have no idea what you're designing particularly, why not have something that indicates when it was last synced?

It could happen automatically, just have a message that says it:


download bmml source – Wireframes created with Balsamiq Mockups

Google Docs, Evernote, and many other applications incorporate the "Last synced" byline or sometimes "last saved."

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.