tobykurien / WebApps

DEPRECATED ⛔️ Android app to provide sandboxed (private) browsing of webapps
MIT License
235 stars 30 forks source link

Feature Request: Tabs #249

Open ghost opened 3 years ago

ghost commented 3 years ago

I'm honestly surprised no one suggested this, at least not I know of by searching "tab" or "tabs" in issues section.

What we're having here is an app-creating app, the difference is the created apps are privacy mostly-separate-containers/sandbox of webpages ("mostly" because I experienced leaks, so it's probably not perfect yet). This app greatly achieves what it offers and differ from other webview-based apps I've seen, though this is pretty much the same thing as firefox containers addon, but android with some additional features. Good. But they're still webpages. So that begs the question, why isn't tabs even a thing?

For some reason on my mobile, long-press links do not show "Open-with" (Is it just me or its currently broken?). But long-press links instead shows "share", which sadly my browser isn't on it. The only easiest workaround is to share with WebApps app, which fortunately presents in the share menu, which opens a shared sandbox webapp (means cookies and probably site data is shared as the same sandbox is used, I think). This adds a new window to the Recent Apps, cluttering it almost too quickly.

Tapping only the external-domain links shows the "Open With". I think it would be complete if tapping any links shows a menu to allow us to choose between "New tab", "New incognito Tab", "Open with", "Share", and "New Sandbox".

Is there some technical limitations of WebApps that tabs cannot be supported, or just that it didn't cross anyone's mind?

Thanks!

tobykurien commented 3 years ago

Thanks for detailed comments, the feedback is appreciated. Let me try to respond to some of the issues raised:

I sense your frustration in that the app is close to what you want and how you use it, but not quite there. Unfortunately the bad news is that I will probably stop supporting this app this year, despite this app being a labour of love and one I'm proud of. The above-mentioned sandbox leaks, combined with browser fingerprinting, supercookies, FLoC, and other hostile abuses of Web technology, have made me come to the conclusion that the Web is a lost cause for private browsing. Yes, WebApps offers only limited protection, and that protection will probably decrease every year. Something like Gemini (https://gemini.circumlunar.space/docs/faq.gmi) is probably the way forward for privacy minded geeks, and I for one am moving as much of my content creation/consumption there as possible.

Another factor is that Android is also increasingly hostile to the developer (you need at least 16Gb RAM to compile a 3Mb APK, every year devs are forced onto new APIs, Gradle builds break often, Google now wants your developer signing key, the tooling I had used is now deprecated, etc, etc, etc). Couple that with the spyware preloaded onto phones and the increasing difficulty of getting control over your device (e.g. my phone kills VLC after 30 mins and there's nothing I can do about it), and I'm ready to ditch Android and go back to good 'ol desktop computing (https://tobykurien.com/post-1618319359/).

0xRustlang commented 3 years ago

Thanks for detailed comments, the feedback is appreciated. Let me try to respond to some of the issues raised:

  • Long press opens "share with": this was a recent change. A short press is meant to open in your default browser (if it's linking outside the sandbox), so the long press was changed to allow sharing. I was using long press for "open with" previously, but on my phone only one app ever shows up there, the default browser, so long press became the same as short press, so I changed it.
  • Can't share to default browser: yes I agree. I often face this myself, because the browser developers chose not to accept links via Share. How annoying. I installed an app so I can share to clipboard, then paste the link into the browser or wherever. Not convenient, but ok.
  • Tapping any link to bring up a menu: can you imagine how annoying this would be? Every single tap bringing up a menu?
  • No tabs: yes each saved app is meant to work as a separate app, not as a browser tab, so no tabs. As you mentioned, it's an app-creating app, not a web browser and mixing in browser features just makes it cluttered and hard to code.
  • Sandbox leaks: maybe you can give details of the sandbox leaks you encountered. I try to note any known issues on the main README of this repo, such as supercookies and shared cache files. I recently learned about a new leak that I don't think I can do anything about: CNAME cloaking (see https://medium.com/nextdns/cname-cloaking-the-dangerous-disguise-of-third-party-trackers-195205dc522a), which I'll add to the README.

I sense your frustration in that the app is close to what you want and how you use it, but not quite there. Unfortunately the bad news is that I will probably stop supporting this app this year, despite this app being a labour of love and one I'm proud of. The above-mentioned sandbox leaks, combined with browser fingerprinting, supercookies, FLoC, and other hostile abuses of Web technology, have made me come to the conclusion that the Web is a lost cause for private browsing. Yes, WebApps offers only limited protection, and that protection will probably decrease every year. Something like Gemini (https://gemini.circumlunar.space/docs/faq.gmi) is probably the way forward for privacy minded geeks, and I for one am moving as much of my content creation/consumption there as possible.

Another factor is that Android is also increasingly hostile to the developer (you need at least 16Gb RAM to compile a 3Mb APK, every year devs are forced onto new APIs, Gradle builds break often, Google now wants your developer signing key, the tooling I had used is now deprecated, etc, etc, etc). Couple that with the spyware preloaded onto phones and the increasing difficulty of getting control over your device (e.g. my phone kills VLC after 30 mins and there's nothing I can do about it), and I'm ready to ditch Android and go back to good 'ol desktop computing (https://tobykurien.com/post-1618319359/).

Sorry for off topic and you probably know but did you tried dontkillmyapps.com? It solved most of my problems.

Also sorry again for off topic, but so you as a veteran android dev, think i as a completely noob and newbie shouldn't start android learning if i also can't upgrade my PC much or other problems you mentioned?

What about flutter? Or kotlin?

Thank you very much for all your great efforts and time and health you put in your apps.

Best wishes.

tobykurien commented 3 years ago

I've moved this discussion to issue #253 and I'll respond there.

0xRustlang commented 3 years ago

I've moved this discussion to issue #253 and I'll respond there.

Thank you very much

0xRustlang commented 3 years ago

What we're having here is an app-creating app, the difference is the created apps are privacy mostly-separate-containers/sandbox of webpages ("mostly" because I experienced leaks, so it's probably not perfect yet).

What leaks you found and how?

@01yakiek

ghost commented 3 years ago

@tobykurien Goodness, an unexpected long reply. Thank you kindly for taking your time to respond to my post. I understand. Nevertheless, I'm not giving my hopes up yet!

@rustforfuture The site that I noticed leak is "Lazada.com.my". Typing into the search carries history across sandboxes. Clearing via app settings isn't a good workaround as it clears everything, including saved sandboxes and cookies. But as root user, deleting the folder \data\data\\app_webview retains the saved sandboxes and cookies (the sandboxes and cookies are saved in databases folder if I remember correctly).