Show HN: FTWA – Turn any website into an app
140 points
3 days ago
| 22 comments
| ftwa.mathix.dev
| HN
harryvederci
3 days ago
[-]
Cool stuff!

@mathix maybe you can make it clear on the website that this doesn't create app/play store apps, as most people probably think about them when they read "turn any website into an app".

From the github readme[0]:

> FTWA uses the --app='https://app.example' parameter with Chromium-based browsers to launch a website in "app mode".

> [...]

> When choosing linux as target OS, FTWA generate a shell script that will create a .desktop file and it's icons.

[0]: https://github.com/mathix420/free-the-web-apps?tab=readme-ov...

reply
mathix
3 days ago
[-]
Thanks! Yes I didn't realized I don't speak about this on the website, good advice!
reply
sigh_again
2 days ago
[-]
Pretty good! Just a few observations:

* The Firefox (BETA) entry does not work on default Ubuntu installs, where Firefox is a Snap. Yes, snap bad, bla bla bla, but it still remains one of the most likely way Firefox will be installed on Ubuntu. This comes from the fact that your script attempts to locate the profile folder in ~/.mozilla/firefox, whereas snaps stores them in ~/snap/firefox/common/.mozilla/firefox/.

* New profiles unfortunately don't share logins on Firefox, which means your app is disconnected at first. Not a big deal, but could maybe be changed by copying some things from the default profile ?

* Firefox does not display _any_ titlebar when ran in this way.

Love the idea. There's many times where I'd like something to have a bit more "privilege" on my toolbar than what a regular tab (even pinned) gets.

reply
usr1106
2 days ago
[-]
Since Mozilla has started to provide an official Debian-style repository there is no reason to use snap on Ubuntu any more. Well, except if some users don't know or don't care to switch.
reply
sigh_again
1 day ago
[-]
>there is no reason to use snap on Ubuntu any more. Well, except if some users don't know or don't care to switch.

Also known as "90% of your users". Defaults stick, and there's nothing bad enough about snaps that i'd waste time of my day adding the debian repo, trying to switch my profiles over, etc.

reply
CWIZO
1 day ago
[-]
Do you have a good summary of why snap is bad?
reply
usr1106
1 day ago
[-]
One aspect is that the server side is not free software. So only Canonical can reasonably host a repo of snaps.

That was enough for me not to look into the technical merits of the clientside implementation. The few experiences I had with snap was that programs were starting slowly (Firefox) and e.g. GPU acceleration did not work (vlc). Not sure how good the sandboxing is. But I run my Firefox sandboxed by firejail and the overhead can not be felt in daily usage.

reply
arcanemachiner
1 day ago
[-]
Ubuntu has replaced the deb version of Firefox with Snaps a few times on my computer.

On at least 3 occasions, I became aware of this when I would open Firefox and nothing would happen, except a message that "Firefox is already running". The only resolution was to install the deb Firefox package.

A couple months ago, I needed to do a fresh install since my system got borked during the upgrade to 24.04 LTS. As usual, the Firefox snap package was installed, so I decided to give it a try.

To its credit, it actually works this time. However, it will not save images on right click or open Zoom meeting links in the desktop client. I am fairly certain this problem would disappear if I switched back to the deb package, but it's not a big enough hassle for me to bother. I can live with some workarounds for now.

Overall, I don't mind snaps, but the Firefox snap has been far more trouble than it's worth.

reply
mathix
2 days ago
[-]
Thanks!

- Yes I could create a second firefox preset for snap installs - I would prefer not to touch such sensible files, but will give instructions on how to do it manually

reply
powersnail
2 days ago
[-]
I had written a similar program (but very barebone compared with what you've made), with Firefox only. The way I dealt with profile, is to specify the full path of the profile, rather than a name. This way, I don't have to know where Firefox is searching for profiles, and I can keep all the additional profiles in a separate directory, so they don't mix with normal profiles and don't clog up profile manager.
reply
mathix
2 days ago
[-]
Yes I saw this option as well, but it seems that it's not possible for macOS
reply
hackernudes
2 days ago
[-]
I just switched to Firefox and struggled with this exact functionality. The posted site ships a script for curl|sh that creates a new firefox profile with a custom userChrome.css.

There is an official thread here with people discussing how the single-page-as-an-app functionality should work: https://connect.mozilla.org/t5/discussions/how-can-firefox-c...

I ended up writing a firefox extension to open up URLs in a new "popup" window[1]: https://addons.mozilla.org/en-US/firefox/addon/web-app-maker.... I just checked it on Windows (usually using linux) and the popup window type does not allow the maximize button to work. Oh well...

[1]https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Web...

reply
Zetaphor
2 days ago
[-]
There's an excellent extension that makes this pretty simple to manage. Additionally the windows it creates have some pwa specific settings, like how links should be handled.

https://github.com/filips123/PWAsForFirefox/

reply
dddw
1 day ago
[-]
Oh nice extension, will check if cohesion works with it, the SSO buttons are broken there
reply
oulipo
2 days ago
[-]
For people who want a "separate window" on Chrome osX (at least), you can go on the website, click on the "..." next to your profile picture, then "Cast, save and share" > "Install website as app"

It does the same, but runs as a "separate app" so that cmd+Q only exits the app

reply
mathix
2 days ago
[-]
Yes, it's pretty much the same for macOS I guess. On linux it's pretty different, I was using .desktop files over PWAs for years because of their bad UI on Linux.
reply
chakintosh
2 days ago
[-]
So I did this, turned out it's not only just Firefox without the browser UI, but it also bricked my actual Firefox browser and now it doesn't connect to the internet.
reply
mathix
2 days ago
[-]
Oh pretty strange, could you please raise on issue on GitHub so I can have any chance of debugging this?
reply
gingersnap
2 days ago
[-]
I would like to have the complete opposite. Turn any app into a website so that I don't need to download them, and can just access them through my browser.
reply
mathix
2 days ago
[-]
With FTWA apps are still websites, it's just another way of opening them without distractions of the browser frame.
reply
LVB
2 days ago
[-]
I think they’re saying that instead of having to try, for example, an iOS app by downloading it from the App Store, they prefer to visit a URL.
reply
wiseowise
2 days ago
[-]
How would you then pay 30% Apple tax?! What a ridiculous idea!
reply
albert_e
2 days ago
[-]
Possibly Offtopic ...

I wanted Udemy app to be available for smart TV platforms like FireTV stick or SamsungTV.

Udemy makes an android and ios app but not for TVs.

Teachable is another online learning platform that ignores Android altogether and makes only an ios app.

LMS vendors like Docebo that have become very popular (AWS Skill Builder, Databricks academy, etc) have very poor mobile support.

Wonder if there is a way to make it work using tools like these. Any pointers in that direction would be appreciated.

reply
low_tech_punk
2 days ago
[-]
How's this different from chrome browser's PWA install? https://support.google.com/chrome/answer/9658361?sjid=105106...

I believe the PWAs will correctly show up in the OS native app launchers.

reply
mathix
2 days ago
[-]
It's different in the fact that PWAs needs to be setup by the website's developer.
reply
otsaloma
1 day ago
[-]
Two questions:

1. Does this make the apps show up as separate windows in Alt+Tab and a Dock etc? (FWIW I use GNOME + Dash to dock + Wayland)

2. Let's say you have a mail app and you click a link. Does that link open in the separate default browser?

I remember trying these command line options for Brave/Chrome, but I couldn't find a way where both of the above were working and thus they didn't feel like proper apps. I've only been using this for something like Apple Music, where I never click on any link that takes me outside. For everything else, like mail and notes, I've been using pinned tabs, but that feels suboptimal too.

reply
mathix
1 day ago
[-]
1. Yes

2. This could do the trick for you https://askubuntu.com/a/251738/1163389 make it point to the desktop file that ftwa created in this folder: ~/.local/share/applications

reply
doubleorseven
2 days ago
[-]
Kinda off topic but this is a "Linux First" UI application(?) and I love it.
reply
EffrafaxOfWug
3 days ago
[-]
If you are interested in using this then I can also highly recommend webapp manager.

https://github.com/linuxmint/webapp-manager

reply
brunorsini
2 days ago
[-]
Been using Unite for years — https://www.bzgapps.com/unite. It's a little better since v5, but it's still pretty buggy, which frustrates me.

Eager to try your product! Have you considered including it on SetApp?

reply
mathix
2 days ago
[-]
I don't think it qualifies for SetApp, and I want to deliver ot freely.
reply
frizlab
2 days ago
[-]
Is this the “Add to Dock…” feature of Safari?
reply
janaagaard
2 days ago
[-]
I also could not figure out the difference between FTWA and Safari's "Add to Dock..."? Is FTWA an equivalent meant for other platforms like Windows?
reply
mathix
1 day ago
[-]
FTWA was created for linux in the first place. I then added support for macOS as requested, but yeah on macOS is pretty similar to PWAs.
reply
marban
2 days ago
[-]
This has been done a hundred times over.
reply
mathix
2 days ago
[-]
This was just a side project, I was using .desktop files to launch some websites and thought it was still pretty unknown by most people. So I created this website.
reply
gwbas1c
1 day ago
[-]
This used to be built into Brave: (Menu -> Save and Share -> Create Shortcut), then check the box.

They removed the option last August. It's really disappointing to me, because I'm a very heavy user.

reply
yamrzou
2 days ago
[-]
I thought this would generate a mobile app APK containing a webview for the website
reply
mathix
2 days ago
[-]
No that's exactly what I wanted to avoid, this would be similar to what electron does.
reply
lugao
2 days ago
[-]
Is this just a shortcut creator script with a landing page?
reply
mathix
2 days ago
[-]
Basically yes, but the shortcut open a frameless browser.
reply
meel-hd
1 day ago
[-]
I've had something similar that uses GitHub Actions and Tauri. github.com/meel-hd/limitss
reply
mathix
1 day ago
[-]
That's neat!
reply
BSDobelix
1 day ago
[-]
Oh no, can we do the opposite please?
reply
prasoonds
2 days ago
[-]
This is really cool! Any chance of adding support for the Arc browser? Right now, Chrome allows for some websites (WhatsApp, Spotify, YouTube Music) to be made into "apps" already via PWAs. Arc - which is based on chromium, for some mysterious reason, chooses to not support PWAs so this would be extremely useful for Arc!
reply
jetofff
1 day ago
[-]
what's the point of this if it just duplicates the browser built in function of installing a PWA?
reply
mathix
1 day ago
[-]
Not all websites are PWAs, and on linux those websites shows differently.
reply
bethemoly
1 day ago
[-]
Not what I was looking for. But looks interesting.
reply