Oddbean new post about | logout
 When Bookstr?

Why convert to ePub, when we could just make a long-form client for e-readers? 
 And tablets! 
 I see conversion mostly as a good way to archive or preserve the book in a particular state. Also useful, but something I'd want in addition to leaving it in note form. 
 Aren’t you a dev? Could build this pwease 🥺👉👈 
 We might actually make the Indextr so clean and simple in design, that it would be ereader friendly. 🤔

What do you think Michael J and liminal ?

Just strip it all the way down. 
 Stripped-down we can do, but I'd have to research how e-readers handle websites. 
 Highlighter just bought us a bit of time. 🤔 
 Like, if I want to refer to a particular chapter, or chat about something or highlight, etc. then it'd make sense to do it in Highlighter. 

But to just sit down and read a book, on the beach, I'd want something really plain for my eReader. 
 That's why I like the idea of not-converting.

Keeping it in notes lets you context-switch. 
 Like, if you had a zettel in a book with a data table from a different article, you could click on that and go to that article. You could even have an option (also load sources), and then navigate everything offline.

Whereas, conversion would change the link to http and force you off your local cache or relay and back onto the Internet. 
 You could do that with a long Wiki page, too. Click *read later with sources* and it downloads it and everything one layer back.

It's just event-caching. 
 @liminal what do you think?

Simple, black and white UI and event caching?

I can research how e-readers handle web browsing. 
 Yeah was curious about this. Like is it a design constraint or something we explicitely build. Guess ereader performance would decide on that. 
 I'm not sure that e-readers even have web browsers, typically, and I think their software tends to be pretty closed.

We could develop a simple UI for indextr that lends itself nicely to monochromatic reader views like some browsers have, but I'm not sure if e-readers would ever see it. 
 My Tolino has a web browser in it. Need it to log into the library website.

Can use it to look at other pages, too. 🤷‍♀️ 
 Here's the newer Kindle. My Kindle also has a browser.

https://youtu.be/j1ESYDWh5mA?feature=shared 
 I'm pretty sure Onyx Boox runs straight Android. The Supernote /may/ also be on Android, i know their future releases intend to dual boot linux. 
 The Fiatjaf example was on a ReMarkable. 
 do you have a link to that? 
 note18ye2gvga0tu7nmzqmq5jncnlvpcq32lqpsv2glmpd4uq6thmgeuqm26qu6 
 PineNote progress is pretty slow so I generally wouldn't recommend for users, but the software is open and the specs are public. Maybe you'd find some information on that there.

https://pine64.org/devices/pinenote/#documentation 
 Burn all the pdfs and convert them into modular articles! They're so bad to work with 😖 
 Yeah, probably easy to just mass-convert everything with a script. 
 Epub is a decent format. Nostr client could convert it to markdown notes to read per chapter.

I like the UI that thenetworkstate.com has 
 Yeah, my gripe is specificially with pdfs. Epub can stay 😊 
 My point is that we don't need to convert to ePub to have e-Reader documents. We just need to carefully craft a client. 
 Publishers have epubs. They don't have raw html or markdown. I have 50 epubs at bitcoinbook.shop that I could upload. Let the nostr client parse those imo. Indesign books export reflowable epubs too. That's the standard. Work with that 
 Pandoc can already convert from epub to markdown and we have a markdown to 30040/30041 converter/uploader that we're already using to publish books. You can already convert all the books. Would be nice to have a pretty online website for doing it, I agree, but that's not really what we're discussing.

We're discussing a nostr-Native e-reading app that imports and exports ePubs (or any other format, pandoc does all of the major ones), but uses notes stored on relays internally. 
 You can try out Pandoc here:
https://pandoc.org/demos.html 
 epub is basically just html anyway 
 Epub is rubbish for math though  
 Nostr is the more powerful protocol and can create more complex, interactive documents because of the json structure.

Also, Nostr is the uncensorable protocol. As soon as it's notes, you can store it in relays, and then generate ePub (or markdown, HTML, LaTeX, etc.) on the fly, as needed.

Nostr means you could replicate a banned book or article to X number of countries and hundreds or thousands of relays, within a few seconds. 
 Can’t wait to try it on my Kobo e-reader. It has internet access! 
 Could you try out this note, on it, when you have the chance? Is it possible to read it well?

https://highlighter.com/a/naddr1qvzqqqr4tqpzpzh8f3sc53cn7vsjjptmylwagdz2z9u79s6xjm5cfkw0usxfzwyfqyt8wumn8ghj7cn9wehjumn0wd68yvfwvdhk6tcqzpkrzceev4urwvtyxpm8y7n2v46qv699k8 
 Won’t load 🙃 also such long URLs aren’t friendly on an eReader. I used an URL shortener or I would have spent ages typing that 🤣
https://nostrcheck.me/media/134743ca8ad0203b3657c20a6869e64f160ce48ae6388dc1f5ca67f346019ee7/c2a5c414bc518a5080a96376b167a7d8a59a9abfad6227072d646e3b6972bd6a.webp 
 Yeah, that's what I figured.

Okay @Michael J @liminal you see the challenge. 
 We'll need URL aliasing.  Nostr nevent IDs are not user-friendly in the least. 
 /nip-05/book-title ? 
 For now there's also https://w3.do (if it works) 
 Ah, okay. I might try that, in a minute. My e-reader is doing an update. 
 Needed that. No way to type that loooooong string in. 😂 
 if you hash the hash and then trim it to 8 bytes and render that as base32 it's pretty concise and almost impossible it will collide... youtube uses a similar scheme, it's 13 characters 
 just for clarity, the value of 64 bytes gives you a total of 18446744073709551615 
 Which e-reader are you using that has a browser?  How well does it support the web? 
 It’s a Kobo Aura H2O. I can browse many websites but that’s a broad question. 
 Maybe WebSockets aren’t supported. 🙃 
 this seems most likely 
 i guess then you have to make a webserver that does all that legwork and spits out HTML then 
 The library I posted was for websockets. 
 need to make a RESTful API for filter queries and a scheme for converting notes into HTML 
 How is @fiatjaf  doing it with njump? 
 does it have a link to the web app that powers it? 
 lol i mean github 
 yes, one minute  
 https://github.com/fiatjaf/njump 
 beautiful example of the most common type of Go application, a custom webserver

a nip-05 can be written in Go with like 10 lines of code

anyhow, https://github.com/fiatjaf/njump/blob/master/go.mod here you see it uses khatru, go-nostr and nostr-sdk code, that's the "legwork" part for taking notes and making them into HTML (using templates)

if you ever got inclined to learn #golang a simple one like that, connect up to a set of relays, then accept URLs with nevent and event IDs and really it's then just a matter of writing a truncated hash scheme like i was talking about, and each event can have a 13 character base32 identifier, and for these index/section/contents pages they can then fan out to pick up the referenced articles 
 So our reader could download/upload everything as notes, but display them in the browser as HTML, so that they can be viewed on simpler or weaker devices? 
 yeah, you would need to write a html renderer, basically

a webapp on a more powerful device can do that in place but a lower spec device would need it done for it, as someone mentioned, most likely because of websockets 
 That explains why every other web app is just a blank screen. 
 for the task you have in mind, i think that the MVP is making the web app that opens at your top level curated index page, and then uses those shortened URLs and each page is rendered and cached on the web server

it would be easy to even put such a thing on umbrel or start9 also 
 i think it would be pretty reasonable to expect that such a project would be able to find funding... a replacement for kindle, built on nostr... with a local mini pc deployment possibility for semi-offline use that also can put highlights and annotations back upstream to share with other bookstr and biblestr relays 
 Yeah, sounds like a bigger project, but something very fundamental that is great for eBooks and eMagazines.

Might be worth an @OpenSats grant or something.  
 i hope it happens... it's such a clear use case for nostr... books, documentation, would go nice alongside the git repo systems, they could become standard help text systems for web and other apps 
 Agree. This is Nostr Core Development, IMO, like Blossom and Cashu. 
 I think peak nostr-educational resource will happen when we combine modular articles with external/specialized functionality. ereader functionality is a must, but this goes soooo much further.

https://www.youtube.com/watch?v=5-4wd3dVtEk

https://distill.pub/2020/growing-ca/ 
 Ereader/book/blog functionality* 
 I have a hunch the reader doesn’t support WebSockets or secp256k library 🤔  
 okok 
 https://www.npmjs.com/package/epaperjs/v/1.3.5 
 Michael J I think we would need something like this. 
 Njump has basic support for print styles:
nevent1qqs9f7yyhxes99kkwky3pc9ylhz2an9ux0aqputd2hptn5lyveyyyesjacwux 
 @Michael J See? It's already a thing. 😂 
 Njump is one of my favorite Nostr products so far. 
 Same. Beautiful execution.