Hacker News new | ask | show | jobs
by alpaca128 2332 days ago
90k rows of "tapped on page X" is definitely different from "is on page 12 in book Y" with exactly one entry per book.
3 comments

If every tap generates a “[TIMESTAMP] $USER is on page X in book Y” event, then the there is no difference between recording tap events and syncing progress state in terms of what the client is reporting.

The difference lies entirely in what WhisperSync is storing, which you can neither know nor control.

You might be surprised to learn that you can both know and control, using the mitm approach from the below thread about KSP:

https://www.mobileread.com/forums/showthread.php?t=174403

"Is on page 12 in book Y" at what time? If you send an update every time position changes, then there is no difference.
There's a difference between storing every single tap and just storing the latest position for each book and device pair. And the Kindle doesn't update whispersync every page tap anyways it syncs periodically so the Kindle is storing that tap info and sending it all so it's not like this is just a factor of logging the data it gets sent for updating page position. [0]

[0] I think Kindle on Android is the worst for this. Sometimes I don't get the position synced to my Kindle even 30min+ after leaving the Kindle app. Seems like the way to guarantee the server gets updated is to either exit the app or to return to the library.

There's a "sync" button. It's in the top nav on physical Kindles and the hamburger menu everywhere(?) else.
What is stored is the discussion here, not what is sent.
Regardless, I fail to see how storing each update is more invasive than just storing the last update when the same number of requests are sent to Amazon.
The whole history builds up a picture of your habits and reading times where only storing the last gives just that the last time you read the book. Think about the difference between storing the last place you were vs everywhere you've been. Individual data points may be innocuous where a collection of the same data points isn't.
right but that’s how you’re storing it. either way you logged it 90k times, one scenario you’re just creating a new row instead of modifying the existing row