Show HN: FTWA – Turn any website into an app

(ftwa.mathix.dev)

143 points | by mathix2 months ago

25 comments

  • harryvederci2 months 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...

    • mathix2 months ago
      Thanks! Yes I didn't realized I don't speak about this on the website, good advice!
  • sigh_again2 months 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.

    • usr11062 months 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.
      • dirkc2 months ago
        Thank you, I just followed these [1] instructions and couldn't be happier getting rid of the snap!!! Before upgrading I was running a binary release from firefox, but running mozilla apt repo is much preferred!

        [1] - https://support.mozilla.org/en-US/kb/install-firefox-linux

      • sigh_again2 months 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.

      • CWIZO2 months ago
        Do you have a good summary of why snap is bad?
        • usr11062 months 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.

        • arcanemachiner2 months 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.

    • mathix2 months 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

      • powersnail2 months 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.
        • mathix2 months ago
          Yes I saw this option as well, but it seems that it's not possible for macOS
  • hackernudes2 months 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...

    • Zetaphor2 months 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/

    • dddw2 months ago
      Oh nice extension, will check if cohesion works with it, the SSO buttons are broken there
  • oulipo2 months 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

    • mathix2 months 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.
  • chakintosh2 months 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.
    • mathix2 months ago
      Oh pretty strange, could you please raise on issue on GitHub so I can have any chance of debugging this?
  • gingersnap2 months 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.
    • mathix2 months ago
      With FTWA apps are still websites, it's just another way of opening them without distractions of the browser frame.
      • LVB2 months 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.
        • wiseowise2 months ago
          How would you then pay 30% Apple tax?! What a ridiculous idea!
  • albert_e2 months 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.

  • low_tech_punk2 months 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.

    • mathix2 months ago
      It's different in the fact that PWAs needs to be setup by the website's developer.
  • otsaloma2 months 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.

  • doubleorseven2 months ago
    Kinda off topic but this is a "Linux First" UI application(?) and I love it.
  • EffrafaxOfWug2 months ago
    If you are interested in using this then I can also highly recommend webapp manager.

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

  • frizlab2 months ago
    Is this the “Add to Dock…” feature of Safari?
    • janaagaard2 months 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?
      • mathix2 months 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.
  • brunorsini2 months 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?

    • mathix2 months ago
      I don't think it qualifies for SetApp, and I want to deliver ot freely.
  • marban2 months ago
    This has been done a hundred times over.
    • mathix2 months 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.
  • dschep2 months ago
    Why did you build this with a server? Since you suggest folks introspect the script anyway, you could simply generate it in the browser and have the user download it. Then you could run this at zero-cost.
  • aragilar2 months ago
    Mildly amused we keep reinventing https://en.wikipedia.org/wiki/Mozilla_Prism
  • yamrzou2 months ago
    I thought this would generate a mobile app APK containing a webview for the website
    • mathix2 months ago
      No that's exactly what I wanted to avoid, this would be similar to what electron does.
  • gwbas1c2 months 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.

  • lugao2 months ago
    Is this just a shortcut creator script with a landing page?
    • mathix2 months ago
      Basically yes, but the shortcut open a frameless browser.
  • meel-hd2 months ago
    I've had something similar that uses GitHub Actions and Tauri. github.com/meel-hd/limitss
    • mathix2 months ago
      That's neat!
  • BSDobelix2 months ago
    Oh no, can we do the opposite please?
  • prasoonds2 months 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!
  • bethemoly2 months ago
    Not what I was looking for. But looks interesting.
  • jetofff2 months ago
    what's the point of this if it just duplicates the browser built in function of installing a PWA?
    • mathix2 months ago
      Not all websites are PWAs, and on linux those websites shows differently.
  • T3RMINATED2 months ago
    [dead]