JonasCz / save-for-offline

Android app for saving webpages for offline reading.
GNU General Public License v2.0
139 stars 45 forks source link

[Feedback wanted] Should network access be blocked by default when viewing saved pages ? #19

Open ghost opened 8 years ago

ghost commented 8 years ago

When viewing a saved page with an internet connection active, the page loads content over the web and communicates with servers. Links that are not saved are also followed within the app instead of in a third party browser. Would it align with your vision to restrict internet access to only when a page is being downloaded?

I think there is value in creating a "sandbox" where saved webpages can be viewed statically and cannot communicate and load scripts, content, ads, or tracking from web servers. Otherwise a regular browser would be more appropriate.

JonasCz commented 8 years ago

Links being openable inside the app itself instead of sending you to a browser when clicked is unintentional, will fix. The "sandbox" idea is interesting, I can probably do this, it would be a preference though, and probably off by default.

May do both things this week, should be easy.

JonasCz commented 8 years ago

Both things are implemented in the latest source. To turn on the "sandbox", go into Preferences > advanced settings. It's off by default.

ghost commented 8 years ago

Incredible, thanks!

I'm trying to approach this from the perspective of an average user, and think of sensible defaults. The simplicity of your app is one of its best features.

Is there a use case for a non-sandboxed mode that wouldn't be better served with a regular browser?

Otherwise, wouldn't it make sense to make sandbox mode default? A user might download a page and check it while they still have an internet connection. Then, when they view it again without an internet connection it may perform differently. This could cause confusion. I think a more consistent user experience would be for the saved pages to always display the same (offline state), regardless of connectivity.

Does this make sense?

JonasCz commented 8 years ago

Yes, It does make sense.

However, If the page does require internet (loads content dynamically), it will at least work when the user is online, vs. not work at all (unless the setting is turned off by the user). So, while I definitely agree with your concerns about tracking / privacy and blocking ads, I'm not really sure what to do.

Another thing is that I don't actually know what the "average" use case / user for my app is.

Either way, currently the app is only distributed through F-Droid and Github, so yes, I think that users are probably privacy-conscious, and they will also probably explore the settings and probably enable / disable this as they want.

I'll have a think about it, and try to get feedback from others too.

If I do make this default, It might also mean having to move the option to disable it out of the advanced settings menu and to somewhere more obvious, suggestions for how to do this from a UI point of view would be appreciated.

JonasCz commented 8 years ago

This is now on by default in the latest source. I'm still looking for feedback by others as to weather the preference option for blocking network access when viewing saved pages should be on by default, hence leaving this open for now.

k3b commented 8 years ago

Note: In my Android 4.2 tablet i donot See any advanced settings in v3.1.0. where i can modify this setting

I perfer to habe a quick toggle with a visual clue in sich mode i am. May be an icon in the action bar

JonasCz commented 8 years ago

@K3b Worth noting that this is still only in the source, so until I make a new release build, you won't have this feature at all if you got the app from Fdroid or the APK from the releases page. Adding an indicator of some sort is a good idea, I'll see if its possible from a UI perspective.