this post was submitted on 20 Nov 2023
24 points (96.2% liked)

F-Droid

8109 readers
1 users here now

F-Droid is an installable catalogue of FOSS (Free and Open Source Software) applications for the Android platform. The client makes it easy to browse, install, and keep track of updates on your device.

Website | GitLab | Mastodon

Matrix space | forum | IRC

founded 3 years ago
MODERATORS
 

I mostly use Webapps (https://f-droid.org/en/packages/com.tobykurien.webapps/) for access to socials and have quick links to services where I don't want to login every time. Don't know if there's an alternative way to do this beside use apps like Insular or other App Isolation like, don't even know why browser don't do this by create profiles or container. I mean apps are just web container most of the time, and I know the reason why service provider want let you just use their app, but what's the browser excuse? What's your approach to this considering that Webapps application is outdated?

all 15 comments
sorted by: hot top controversial new old
[–] [email protected] 5 points 11 months ago (2 children)

You can set up websites to run as standalone apps by adding them to your Home Screen from the browser.

How native an experience you will get with that is dependent on the developer and the work they put in when it comes to caching, implementation of web workers, push notifications, meta data, etc.

[–] [email protected] 9 points 11 months ago* (last edited 11 months ago) (1 children)

I'm not particularly happy with the situation of PWAs on Android. Firefox, my browser of choice, is like 10 years behind in their implementation.

The only browser that integrates them nicely as a native app is the official Chrome browser (privacy nightmare) which does this by generating an APK on google servers and installing it (privacy nightmare^(2)).

Hopefully there will be a local solution for this in a FOSS privacy-respecting browser eventually.

[–] [email protected] 0 points 11 months ago (1 children)

which does this by generating an APK on google servers and installing it

I’m sorry but that not at all how PWAs work at all. PWAs are just websites. There is no APK. At its core it is a bookmark to a website without the browser UI.

Chrome definitely offers a lot more APIs than other browsers to allow a website to interface with a phone a lot better. Often outside of the standards the web has set. That can make browsers that follow the standards feel behind (Firefox) and really emphasizes browsers that purposely hinder their browser to incentivize native apps (IOS Safari).

[–] [email protected] 6 points 11 months ago (1 children)

Oh there is a APK, when using Chrome or Samsung Internet (installed via Samsung Store). The store is generating and signing the APK. Only with such a signed APK OS Level functions will work. A good example is the share_target functionality. If this is enabled by the PWA and installed as APK, you can share text and links with the PWA. The same applies for PWAs on the Desktop, for example with Edge on Windows.

If you use the same PWA with Firefox or Samsung Internet installed from Play Store, it can only add a shortcut on the home screen, without share_target functionality.

Additionally some service worker functionality is very basic on some browsers. On one hand this is bad for functionality, but good for privacy. Assume a PWA uses a background sync service for example. This can exchange a lot data and sync it with any target in the web, without user consent. This is only a small part where service workers do not respect users privacy.

If you look at that we come in fast steps to this insane and total crazy manifest v3 webextensions. They are completely privacy nightmare at least how Chromium designed them. The Mozilla implementation is a lot better, but incompatible to Chromium.

Welcome to the ugly world of new web technologies.

[–] [email protected] 1 points 11 months ago (1 children)

Well that just sent me down a rabbit hole.

My first foray into PWAs was this year but it was a short lived endeavor when I found out I had no hopes of feature parity across devices for core functionality and decided to switch to React Native instead. I didn’t know android did that with PWAs.

Thanks for the explanation.

[–] [email protected] 2 points 11 months ago

From my point of view, this is all relatively unstable and not really well thought out, far from being reliable. I have spent the last 2 weeks trying to convert my Crossbowser bookmark backend (https://codeberg.org/Offerel/SyncMarks-Webapp) into a functioning PWA. Very disappointing. Don't ask me how many nerves I've lost in the process. At least you can now use the WebApp as a PWA. The share_target also works if it was installed via Chrome or Samsung Internet. It also works offline. These functions are even retained if you subsequently uninstall Chrome/Samsung Internet. The WebApp then asks which browser wants to take over the functions. This also works with Chromite or Firefox. Strange but what the heck. At least you can now share any URLs with the backend. This also works offline, even if this is more of an Edge case for bookmarks.

[–] [email protected] 2 points 11 months ago

yes, it's something that already do, but you know I want something that keep a minimum level of privacy for those websities that require login sessions

[–] [email protected] 3 points 11 months ago

Thanks, looking for such a thing for ages!

[–] [email protected] 3 points 11 months ago

I use Hermit for this, and it's regularly updated

[–] [email protected] 1 points 11 months ago* (last edited 11 months ago) (1 children)

It's too bad this forces SSL connections. I'd like to use it for some home network/lan sites I have that are http only and use this just for convenience to access when at fine, but it requires a secure connection it seems

[–] [email protected] 1 points 11 months ago

That secure ssl was an android requirement. You need a web browser if you want to bypass that. Apps using webview can not do that by default unless they opt in. You can try to open a bug report and see if they do that.