Butterfly icon indicating copy to clipboard operation
Butterfly copied to clipboard

[Feature request]: Split reading and note-taking mode

Open jamal-ali1989 opened this issue 1 year ago • 13 comments

Is your feature request related to a problem? Please describe

No response

Describe your feature request!

I think it would be a great to have a feature where one could choose a document (.pdf, .epub, etc.) and also open a note in a split screen fashion (vertical or horizontal), where one would read from a certain document and take notes simultaneously, instead of going back and forth between 2 apps. Would such a feature be possible to implement?

Additional context

I don't think for this feature, advanced options for documents are necessary. Just being able to zoom in/out, panning and page turning would more than suffice.

Code of Conduct

  • [X] I agree to follow this project's Code of Conduct

jamal-ali1989 avatar Sep 10 '24 09:09 jamal-ali1989

Hmm, this could be combined with a tab feature to switch between notes. Internally we need to add something like a split screen where we need to open multiple files at the same time.

The other idea could be to allow multiple view positions on the same document.

Do you have apps for reference where this is already implemented?

CodeDoctorDE avatar Sep 10 '24 09:09 CodeDoctorDE

Thank you, I don't know of an app that does this. However, some tablets do have a "split screen" option where you choose two apps and see them both simultaneously. I wanted to suggest something similar, but as an internal feature of the app. For example, you choose one document for reading and you choose another note where you could write, draw etc. Ideally one would choose vertical or horizontal split. On the other hand, you could make it like tabs, one tab for reading and one tab for writing. Is this something that is realistic to be added?

jamal-ali1989 avatar Sep 10 '24 10:09 jamal-ali1989

Oh okay, having opened multiple documents seems tricky since you need to save multiple states. This would be a very big feature to add. Having multiple positions that is splitted (like you can have with onenote desktop) for the same document would be easier. You could then move to your document on one side and annotate on the other

CodeDoctorDE avatar Sep 10 '24 10:09 CodeDoctorDE

In that case, how about making one tab "read-only"? The tab you open for "reading" should just be viewing a document (pdf, epub, etc.). The other tab should be behaving normally, you can choose your tools and work on it. Would this be viable?

jamal-ali1989 avatar Sep 10 '24 13:09 jamal-ali1989

Currently, everthing that will be shown, needs a state system. It would be the similar work as making both writable. What is your usecase? If you want working side by side, why not just importing the file in the document or making a new page and then importing it there? Working in the same document would decrease the work significantly. When working with other files, you could use the native sidebar system to view them

CodeDoctorDE avatar Sep 10 '24 13:09 CodeDoctorDE

Oh, I didn't mean working on the same document. My use case would be this. Imagine I have a tablet with stylus support. Sometimes, it makes things really easy to look at a document (not edit it, just read from it) and take notes on a bfly file, side by side, or one on top of the other, with a split screen, or separated by tabs. So, only one file would get edited, the other is just viewed. I am guessing for the desktop version, this might not be very usable, but it would be awesome to have it for the Android version. On the other hand, you said there is a sidebar system to view other files. Does it work the way I just described above?

jamal-ali1989 avatar Sep 10 '24 14:09 jamal-ali1989

Hmm, I mean, you could use the native side view feature in android. You can put butterfly on one side and the image viewer on the other side (https://www.howtogeek.com/722244/how-to-use-two-apps-side-by-side-on-android/). Are your documents in the butterfly file system? Otherwise you could open pdfs inside the browser with the native side by side feature. Then you could already do this without changing the app.

The suggested side by side feature inside the same document could also work. You can import pdfs in this document, annotate them and remove them again.

I don't see a real reason to have multiple documents open. Feel free to answer, maybe I didn't think of something

CodeDoctorDE avatar Sep 10 '24 14:09 CodeDoctorDE

Well, I am using an e-reader with a customized android version and its split screen option is kind problematic when using 3rd party apps. That is why I suggested this feature. However, in other use cases, it will probably not be very useful.

jamal-ali1989 avatar Sep 10 '24 14:09 jamal-ali1989

Oh okay, what about the second option? Would it be okay, if you could import the document, write down the things and remove them (if you don't want to have them in the document. I personally would keep it if you annotate something).

This would be a lot easier to implement

CodeDoctorDE avatar Sep 10 '24 14:09 CodeDoctorDE

I am sorry, I didn't really understand what you mean by the "second option". I can import the pdf, but some pdfs are a little big, it is just too much hassle. Annotation would be an extra feature if you wanna add it, of course. However, this feature I am suggesting is to replace the "split screen" option with a built-in feature of Butterfly. Personally, if it could just display a document in one side, even just read only, while allowing you to work on another document, it would be perfect for me. Do you think it is worth adding?

jamal-ali1989 avatar Sep 10 '24 19:09 jamal-ali1989

I have always had this thought about what I wanted in a PDF note-taking app -- I don't know if this would be very easy or very hard to implement. I'm also not sure if I'm describing exactly the same thing that jamal-ali1989 is.

I basically want "expandable sticky-notes". I want to be able to have the PDF open, make a note, and have the note attached (somehow) to that particular spot on the PDF. That could be done by a link attached to a place on the PDF, or a window that is overlayed on top of the PDF, or a split-screen. The details of how it works aren't so important, I just want sort of "localized" notes for specific parts of the PDF, that don't cover up the original PDF.

But the basic idea is that it's like if you're reading a book, and you put a sticky note somewhere on a page of the book. But on an app, you can do this with an infinite canvas, making it a lot more powerful than physical sticky notes.

(I feel like the problem of large PDFs isn't so much an issue. You can just import the specific pages you want, and organize sub-sections of the book into many different files that are all grouped together on your drive. It takes a little bit of organization but this doesn't seem hard to me.)

axiomtutor avatar Sep 11 '24 14:09 axiomtutor

While what you suggested also sounds like a good idea, the reason I just suggested "read-only" way of opening a document was for the simplicity of implementation.

jamal-ali1989 avatar Sep 12 '24 15:09 jamal-ali1989

Hmm, it's really tricky. I currently don't really know why you don't want to have it imported in the same document. You always have the problem with the loading time/file size with big pdf documents, both imports it for a butterfly document regardless if you imported it as a new document or import it in an existing document. The split screen itself isn't the big problem here, only that you have multiple files open (it doesn't make a difference if readonly or not).

To @axiomtutor's comment: A sticky notes feature sounds nice but I'm not really sure how I should implement it. Adding interactive things to the canvas breaks somehow the intention of the app. The visible canvas should be the same on all devices and should stay the same. It also breaks somehow the customizability of the app since you cannot make sticky notes customizable to your liking as you can do with "static" elements. Feel free to comment if you have a different opinion or have an idea how to do them without breaking the intention.

CodeDoctorDE avatar Sep 12 '24 15:09 CodeDoctorDE

Implemented in 2.3.0-beta.3

CodeDoctorDE avatar Mar 14 '25 20:03 CodeDoctorDE