Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Software > Calibre > Server

Notices

Reply
 
Thread Tools Search this Thread
Old 10-22-2023, 07:36 PM   #1
bengalih
Junior Member
bengalih began at the beginning.
 
Posts: 8
Karma: 10
Join Date: Oct 2023
Device: smartphone
Hypothes.is support

I'm enjoying Calibre, it is clear it has a lot of great development behind it.
One thing that I wish was developed more is annotations. I would say this is the case with almost every single product out there and Calibre, like the others has good features and bad in this department.

I would like to use Hypothes.is annotations with Calibre because it was developed specifically for that purpose and has some advantages that Calibre does not. However it will not work with the Calibre Content server embedded viewer.

In short, https://hypothes.is is a platform which uses an open standard to make annotations on epub, pdf, html content. It is cross platform and highly adapted to collaboration. It uses a javascript library and an open standard.

I think the problems are two-fold:
  1. Calibre has it's own javascript for annotations/highlights
  2. Book content appears to be rendered in a frame. I'm not sure that this is even the case (see calibre-web comment below)

I think #2 can be solved fairly easily if an option is added to enable hypothes.is within the frame (again, this may not even be needed?).

#1 might be a big more complex, but I think an option can probably be added to the viewer which in effect enables hypothes.is and in doing so also disables the built-in annotations.

I'm posting this in hopes that the developer might consider something like this, or if I am best served finding another solution to serve up my ebooks. I have tried calibre-web and I am able to do what I need there, however I find the Calibre Content Server superior even to Calibre Web (despite the latter focusing on that, I think Calibre does it better).

Or, perhaps there is another way to get this working from the client side that I am overlooking.

I really think it would be a huge bonus to allow Calibre users to integrate this feature and I believe that to someone familiar with the Calibre code it is probably not a huge integration (I could be wrong!).

For example, using Hypothes.is would automatically give Calibre the ability to share annotations between users and libraries and even completely different installations. Would be less prone to some sort of issue in a library, etc. It seems that the effort to get this working would be much less trying to develop the same type of functionality internally.

I am not capable enough to do this myself, but I would certainly give it a shot, especially if I had any other coders who might want to assist and if the Devs would welcome this functionality?

Here is some relevant info I think to getting it to work (as well as some examples of how it can work):

https://web.hypothes.is/blog/epub-annotation/
https://web.hypothes.is/help/embeddi...and-platforms/
https://web.archive.org/web/20221108...framed-content

Last edited by bengalih; 10-22-2023 at 07:38 PM.
bengalih is offline   Reply With Quote
Old 10-22-2023, 09:58 PM   #2
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 43,975
Karma: 22669822
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
I dont know of a single advantage hypothesis gives you. You mention sharing annotations, calibre has full support for exporting annotations already. If there is something missing in that feel free to ask, but as it stands there is zero upside to what will be a lot of work and more importantly ongoing support issues with a third party library whose quality I have no control over.

Last edited by kovidgoyal; 10-22-2023 at 10:12 PM.
kovidgoyal is offline   Reply With Quote
Old 10-23-2023, 01:31 AM   #3
bengalih
Junior Member
bengalih began at the beginning.
 
Posts: 8
Karma: 10
Join Date: Oct 2023
Device: smartphone
Quote:
Originally Posted by kovidgoyal View Post
I dont know of a single advantage hypothesis gives you. You mention sharing annotations, calibre has full support for exporting annotations already. If there is something missing in that feel free to ask, but as it stands there is zero upside to what will be a lot of work and more importantly ongoing support issues with a third party library whose quality I have no control over.
Thanks again. I'm sure you are reading lots of posts, so I will reference my other post we were discussing here:
https://www.mobileread.com/forums/sh...d.php?t=356795

Again I may be missing something here, but the primary advantages I see using Hypothes.is annotations are the ability to:
  • View all annotations by all users from a web-based viewer (i.e. remote/shared files)
  • View these annotations in-context of the larger document instead of simply seeing a list of annotations.

Perhaps I'm in the minority, but when collaborating with others it is much easier to be able to look at the document with the full set of annotations (or ideally a granular view based on query) or, the reverse being able to look at a list of annotations and jump right to that location in the document. This, to me, is more preferable than simply looking at a list of excerpts from the book with notes attached.

If you are still unconvinced and absolutely against implementing a feature like this, would you be just as unconvinced to incorporate one if I could somehow manage it in a fork?

Thanks.
bengalih is offline   Reply With Quote
Old 10-23-2023, 02:22 AM   #4
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 43,975
Karma: 22669822
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
Viewing other user's annotations is a privacy no-no. You would need to have some UI to allow them to grant you access to their annotations. Why not just use a single user account for collaborating users in that case? And really at this point it looks like what you really want to do is collaboratively work on editing the document, in which case its better to convert to an editable format and work with tools that explicitly support collaborative editing.

I am not adamantly opposed to having some method for importing another users annotations into your annotations, but implementing that has to take into account various edge cases like overlapping annotations, since calibre supports only a single annotation per location.
kovidgoyal is offline   Reply With Quote
Old 10-23-2023, 12:05 PM   #5
bengalih
Junior Member
bengalih began at the beginning.
 
Posts: 8
Karma: 10
Join Date: Oct 2023
Device: smartphone
I understand.

My opinion is that EPUBs are superior to other "editable format(s)" in how their flow works. Also, in my case I am not looking for collaborative editing (or editing at all), I am looking for collaborative discussion. Think "book club"" if you like - where multiple people are reading the same document and logging their thoughts and sharing relative passages. Again, the ability to view these thoughts in "context" would be very helpful. So the use case is 100% not to collaborate for editing, just to facilitate discussion of the books.

I too have thought of using a single user account for all users and this is what perhaps I will have to do. However this has similar privacy complications. We could all use a single account for collaborating on books in the "club" and then another one for our personal use, but this is cumbersome and also doesn't allow us to store public and private comments on the same copy of the book which may recreate work.

I definitely see that the work involved to make a granular control for opt-in would be quite a bit of work to do and I agree that adding this ability for users who want it may just as likely break the privacy barrier for those who don't. This, combined with the limitation of only one annotation per location would cause some complications with your proposed solutions.

This is why I again turn to Hypothes.is because it overcomes all of these limitations and offers an open framework for this type of collaborative discussion.

I am not a developer (though I have done some development, but have worked more in the design, QA, and integrations of products) and have barely looked at the project code on GitHub and thus may be severely underestimating the task at hand. In my mind I would see the Hypothes.is integration fairly straightforward as such:

Somewhere in the web reader (Content Server) settings would be an option to enable Hypothes.is annotations. Clicking this box would do two things:

1 - Disable whatever code is bringing up the context box when highlighting text for annotations.
2 - Add the one line script tag for the hypothes.is tool within the iframe. TBH, I'm not 100% sure this is needed, however it would definitely add functionality since even if the Chrome extension did work to inject in the frame, adding it manually would allow use on browsers that don't support extensions (like mobile Chrome).

Ofc, Disabling the option would simply do the reverse.

I know that this integration would only work in the Content Server in a browser. It would be incompatible with the Viewer and Calibre annotations - and that is OK! Calibre is such a stellar piece of work that so many want to use for it's organization and converting functions. It doesn't need to be perfect at everything and can allow some help from other services if available.

I may be way off base with what needs to be done to get this working, and I respect every minute of your development time. It just seems (on the surface) to be a fairly granular addition that does not even need to be enabled by default and thus should not impact a user's experience if they choose not to implement.

If I've been able to convince you at all, but you are wary of doing the work, as mentioned I would be willing to try (perhaps with the help of others who would desire the features). I wouldn't want to put in the time however if you would not want to integrate it into the product after a proof of concept was completed.

Thanks for your time.
bengalih is offline   Reply With Quote
Old 10-23-2023, 09:27 PM   #6
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 43,975
Karma: 22669822
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
The problem is if I have an option like "Use Hypothesis" in calibre then I need to support that option. And javascript is extremely brittle and all of it runs in the same global namespace. I highly doubt hypothesis will work without issues in the viewers paged mode, for instance or with RTL or vertical text or a dozen other things. Simply adding it a getting a POC is trivial, getting it to actually work well is not.
kovidgoyal is offline   Reply With Quote
Old 10-23-2023, 10:57 PM   #7
bengalih
Junior Member
bengalih began at the beginning.
 
Posts: 8
Karma: 10
Join Date: Oct 2023
Device: smartphone
Thanks for the feedback. Perhaps you will reconsider in the future if you decide to add more features for annotations as it still may be easier to use their service for all the pros I described rather than try to implement them all.

It is a shame that overall their isn't a good standard for annotations that has been widely implemented into multiple applications. My overall problem (as pretty much every other post I've seen) is that once you take annotations in one application it is pretty much impossible to view them in another.

At the very least it would be beneficial to be able to export annotations from one user and import them into another (even if it meant wiping out any existing).

If you have thought about a roadmap for any additional annotation support in the future I would be interested to hear of it.

In any event, thanks for your time and consideration in the matter.
bengalih is offline   Reply With Quote
Old 10-24-2023, 08:32 AM   #8
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 43,975
Karma: 22669822
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
You dont have to wipe out existing you can merge overlapping annotations. Combine the notes and pick the highlight style of one or the other.
kovidgoyal is offline   Reply With Quote
Reply


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Firmware Update Kindle discontinuing MOBI support, implementing EPUB support nesler Amazon Kindle 2 05-04-2022 08:02 AM
[Newbie] Book cover list support? Popup footnote support nqk KOReader 1 02-19-2016 05:23 AM
Support officially outsourced to Phillippines (paid support) larka enTourage eDGe 5 06-08-2011 12:48 AM
Is Astak support on vacation or just stopped support? dmikov Astak EZReader 9 01-22-2010 01:43 PM


All times are GMT -4. The time now is 04:22 PM.


MobileRead.com is a privately owned, operated and funded community.