cryptee / web-client

Cryptee's web client source code for all platforms.
https://crypt.ee
Other
445 stars 22 forks source link

[Feature] Add option to make notes and others available offline by default #191

Closed ghost closed 3 weeks ago

ghost commented 1 year ago

Is your feature request related to a problem? Please describe. Connecting to servers to open the notes take a bit of time, even if it isnt that slow.

Describe the solution you'd like option to make notes available offline by default

Additional context I know you can make notes available offline by clicking on them and choosing this option. However, I think it would be nice if there was an option in the settings to make this default. So, whenever I create or edit notes, they are just saved as offline by default without asking me. Saving notes offline just makes the whole experience quicker.

S7venLights commented 1 year ago

See #28

ghost commented 1 year ago

See #28

I see, but I'd still love to have an option for that. As you can also see, there are users who utilise cryptee for note taking purposes only like me. Thanks for your answer, too. Have a nice day.

johnozbay commented 1 year ago

Hi there @gdnzz! Thanks for filing this! โœŒ๐Ÿป And hey @S7venLights ๐Ÿ‘‹๐Ÿป Thanks a lot for linking to the duplicate!

As I mentioned in #28, there is a very specific reason why we chose this path. โ€” That being said, since 2019 our infrastructure, apps and browsers' technologies themselves have evolved a lot, and we may be able to add the option to make it possible for new docs to be offline by default per device. (i.e. we can do streaming encryption now, vs having to encrypt with the whole file in memory = technically, we can even store large files in smaller chunks and stream from storage now)

However, with regards to the second part of your request's title, where you wrote : "and others" โ€” I can confidently say thatย this won't be possible, as it is a surefire way to chew through users' device's storage rapidly. (so let's say you 'upload' a PDF to Cryptee, you wouldn't be only 'uploading' it, you would in fact be creating an encrypted copy of a PDF that's also stored on your device in Cryptee's filesystem, in addition to the original unencrypted one on your device and the one in the cloud.)


One thing we'll need to be conscious of, and will need to add as a part of this option is a clear eviction criteria. I.e. how long should docs be kept offline on that device. Because in time, this feature would enable the inverse problem = having to manually remove lots of docs from offline storage. So an example eviction criteria could be something like: if you haven't opened a doc in X days (i.e. 30 days), Cryptee can automatically evict the file from offline storage of that device.

Let me know what you think about this, and what would be an acceptable eviction criteria be for you. I wish I could say "don't worry, we won't need this" but I know we will, so I would love to know what you think would work for you โœŒ๐Ÿป


Second thing we'll need to be conscious of is making it clear that this option is enabled, every single time you're creating a document. (heck perhaps this can be a checkbox in the new doc popup) โ€” Because we there are many Cryptee users who use the platform in mission sensitive ways, i.e. peace-workers overseas, who often need to cross borders. And often (according to what they're telling us) their devices get inspected. So to them, it's mission-critical to know what's on the device, and what isn't. And being able to keep track of things easily is incredibly important. So if we bury this option in settings, and someone forgets that it's on, and keeps lots of stuff on the device offline (although they are also encrypted) this could pose a problem for a category of our users.


In the meantime I'll sit down with our UX, engineering and legal team to take a look and see what it would take to make this possible, and we'll try our best to ship this as quickly as possible.

Does this make sense and sound good to you? Let me know what you think!

ghost commented 1 year ago

Hi there @gdnzz! Thanks for filing this! โœŒ๐Ÿป And hey @S7venLights ๐Ÿ‘‹๐Ÿป Thanks a lot for linking to the duplicate!

As I mentioned in #28, there is a very specific reason why we chose this path. โ€” That being said, since 2019 our infrastructure, apps and browsers' technologies themselves have evolved a lot, and we may be able to add the option to make it possible for new docs to be offline by default per device. (i.e. we can do streaming encryption now, vs having to encrypt with the whole file in memory = technically, we can even store large files in smaller chunks and stream from storage now)

However, with regards to the second part of your request's title, where you wrote : "and others" โ€” I can confidently say thatย this won't be possible, as it is a surefire way to chew through users' device's storage rapidly. (so let's say you 'upload' a PDF to Cryptee, you wouldn't be only 'uploading' it, you would in fact be creating an encrypted copy of a PDF that's also stored on your device in Cryptee's filesystem, in addition to the original unencrypted one on your device and the one in the cloud.)

One thing we'll need to be conscious of, and will need to add as a part of this option is a clear eviction criteria. I.e. how long should docs be kept offline on that device. Because in time, this feature would enable the inverse problem = having to manually remove lots of docs from offline storage. So an example eviction criteria could be something like: if you haven't opened a doc in X days (i.e. 30 days), Cryptee can automatically evict the file from offline storage of that device.

Let me know what you think about this, and what would be an acceptable eviction criteria be for you. I wish I could say "don't worry, we won't need this" but I know we will, so I would love to know what you think would work for you โœŒ๐Ÿป

Second thing we'll need to be conscious of is making it clear that this option is enabled, every single time you're creating a document. (heck perhaps this can be a checkbox in the new doc popup) โ€” Because we there are many Cryptee users who use the platform in mission sensitive ways, i.e. peace-workers overseas, who often need to cross borders. And often (according to what they're telling us) their devices get inspected. So to them, it's mission-critical to know what's on the device, and what isn't. And being able to keep track of things easily is incredibly important. So if we bury this option in settings, and someone forgets that it's on, and keeps lots of stuff on the device offline (although they are also encrypted) this could pose a problem for a category of our users.

In the meantime I'll sit down with our UX, engineering and legal team to take a look and see what it would take to make this possible, and we'll try our best to ship this as quickly as possible.

Does this make sense and sound good to you? Let me know what you think!

Yep. Eviction criteria and other ideas sound good. For me, I don't really care about privacy (I still do but not that much) or size of my docs since they are mostly insensitive texts with some photos. However, I see that users who utilize cryptee for mundane note-taking tasks like me are minority, and most of the users use this platform to store sensitive info. Hence, it makes for these users to be prioritized. To summarize, your ideas for making this an optional feature sounds good to me while at the same time caring about privacy. Thanks for answering, have a nice one :)

S7venLights commented 1 year ago

I like these ideas, I'd probably use the offline feature.

For this eviction strategy, it may be good to have a way to mark notes as always offline. Some of my notes are info I'd use in an emergency and as such wouldn't open them very often but would need access to them when the time comes.

ghost commented 1 year ago

Yeah same. Maybe Just display a huge warning "it might be invasive for privacy etc, do you want to continue" . I'd love my notes to be always offline

johnozbay commented 3 weeks ago

Hey all! ๐Ÿ‘‹๐Ÿป

We have come a long way since last year, and after having long back/forth calls with reporters, journalists and other at-risk users, we decided to go ahead and make this possible. In fact, thanks to some improvements in browsers, now all your documents are created offline-first by default, and you can turn this off in settings if you prefer.

Thank you so much for filing this, your help and patience!

Deeply appreciated all the feedback and help here and it was immensely informative for us while trying to make a tough decision.

You can read more about this and more in our blog : https://blog.crypt.ee/doc-templates-massive-performance-improvements-and-tons-of-new-features-to/

Many thanks for everything,

J

johnozbay commented 3 weeks ago

p.s. โ€”ย please give things a try and let us know what you think. (i.e. performance improvements, bugs, issues you experience etc here, and we'll fix them up right away) โœŒ๐Ÿป

S7venLights commented 2 weeks ago

Seems to work well so far.