How to persist long text on a watch? Sometimes larger than 8kB

I wanna make an app for novel reader. The main problems are line splits and text persistence. The former one is easy. But how to persist a long text on a watch?

some calculations:

For English, 8kB can hold 8*1024=8096 ASCII chars.

For the Chinese, IIRC, the amount is half. 4096. One Chinese character takes 2B. I don't think it is enough.

Maybe I can design an algorithm to split the novel into multiple and store them in multi-key Object storage.

Do you have any better idea? Thanks for your watch.

  • It seems that the total amount of storage space available to an app (128 KB) isn't enough to store a whole novel in most cases.

    Depending on who you ask, Great Expectations ranges from maybe 328-544 pages. I took the free ebook from Project Gutenberg, pasted the contents into a plain text editor and saved it as a text file (UTF-8). The file size is about 1 MB.

    So an optimistic estimate for average plain text ebook size would be 0.5 KB / page. (Amazon estimates 2 KB / page for Kindle ebooks).

    This means that any book which is longer than about 250 pages is not gonna fit in storage. And that's not even considering double-byte characters.

    Having said all that:

    - multi-key object storage is probably the only solution here

    - you would probably have to devise a scheme of only syncing part of a book at any given time (maybe this isn't a big deal, assuming the user doesn't need the ability to read an entire book on their watch without ever syncing.) But then again, do a lot of ppl want to read a book on their watch at all?

    - all of this will probably be slow (I guess it would help if you can sync in the background while the user is reading)

  • do a lot of ppl want to read a book on their watch at all

    I doubted this before as well. In the past half year, I got 2 proposals for this idea. One is from a soldier who can't take a mobile when performing tasks. This app sounds interesting to implement just like what the mp3-era guys did

  • One is from a soldier who can't take a mobile when performing tasks.

    That's pretty interesting. It could work but I assume you'd have to provide a backend service to store, convert and sync books. Either that or a companion app for iOS or Android.

    OTOH this a case where an Apple Watch (or Wear OS watch) would be so much better, since they could use a PDF reader or something similar to read books.

  • Thanks for your reminder. Indeed. Garmin is far away from an intelligent watch.

    But the battery life on an Apple watch is horrible, in which case they chose Garmin.

    Besides, considering how to implement is funny as well, isn't it? ;)

  • I doubted this before as well. In the past half year, I got 2 proposals for this idea. One is from a soldier who can't take a mobile when performing tasks. This app sounds interesting to implement just like what the mp3-era guys did

    It's very cheap for people to make proposals. They aren't spending the time making the app.

    Most people making proposals completely ignore the downsides. That people can make proposals doesn't make the proposals good.

    Reading lots of long text on a small round screen is going to be awful.

    You'll only be able to display a sentence (or two) at a time.

    (I display small amounts of text in my app and it tries to fit the text in the tiny circle and does primitive word-breaking too. It's not great but it's good enough for the purpose. It would not be good enough for reading long runs of text.)

    2 proposals doesn't mean "enough" people would do this. It's pretty likely that these two people would find that actually using it it doesn't really work, which would leave you with all the costs.

    (One thing to learn is to determine that something isn't worth doing. My app is reasonably successful. but looking back, I'm not convinced it was worth the effort.)

    Garmin is far away from an intelligent watch.

    But the battery life on an Apple watch is horrible, in which case they chose Garmin.

    Garmin (and its customers) put a very-high value on long battery life. This means the computers are slow (too slow to be overly "intelligent"). Apple puts a higher value on being "intelligent". This means the battery life is going to be low.

    ===================

    Somebody posted an idea on the App Idea that actually aligned very-well with what my app did. I actually did the work to implement it (my app made it easy).

    I ended up rejecting the idea because it needed your phone anyway (it accessed info off the internet) and was misleading because it would only ever show a small subset of the data people were interested in.

    I commented why it wouldn't work. The person never replied to try to make his case. Maybe, he wasn't that interested (or I happened to be convincing!).

  • It seems that the total amount of storage space available to an app (128 KB) isn't enough to store a whole novel in most cases.

    That isn't the problem.

    Not many (not enough) people are going to want to read long text (talking short articles, not novels) a hacked-up sentence (or less) at a time on a tiny round screen. (And that's ignoring navigating through the text.)

    Having basically done this in my app, I don't see how the result would really be useable for this purpose.

    (There are, no doubt, bible IQ apps but those have a fairly fervent audience for a text most of them will be very familiar with.)