Why are reproducible builds only on one platform (Android)? Desktop version could have a built-in backdoor and data would be transferred not from the phone, but from the PC)

  • Skull giver@popplesburger.hilciferous.nl
    link
    fedilink
    arrow-up
    4
    ·
    9 months ago

    Realistically, your choices are usually “Electron/Tauri app” or “no desktop app at all”. On macOS there’s that framework that easily ports iPad apps to macOS, Windows runs Android apps these days, and Linux users aren’t a very interesting target audience for any business intending to make money because they’re not used to paying for software.

    Electron is cheap, easy, and relatively fast to develop for. Can’t say the same about Qt or WxWidgets in my opinion.

    That said, there’s little preventing people from taking an app like Telegram, which has great UX, ripping out the mtproto parts and adding in Signal/Matrix. It’s what Delta Chat did and it gave them a pretty neat UI for such a little used chat app.

    Signal can have a better app, you just have to give the Signal team a reason to build it, and “a loud minority that doesn’t pay us threatens to stop using Signal” isn’t a very good reason. The app is open source, though, so if you collect a bunch of devs who care as much as you, I’m sure you can build a better version yourself!

    • crispy_kilt@feddit.de
      link
      fedilink
      arrow-up
      3
      ·
      9 months ago

      Linux users aren’t a very interesting target audience for any business intending to make money because they’re not used to paying for software

      Steam, JetBrains and many more would disagree

      • Skull giver@popplesburger.hilciferous.nl
        link
        fedilink
        arrow-up
        2
        ·
        9 months ago

        JetBrains isn’t exactly a product for the general audience like Signal is. Even then they’re using the Electron approach (by building their IDE on Java, and Java doesn’t use the native OS UI in any way). They do support some Linux elements (shortcut schemes and such) but in practice they’re no different from any Electron app. If anything, Jetbrains’ success on Linux shows that Linux users don’t care about native apps as much as you may think.

        Steam is successful on Linux (though it’s also mostly Chromium-based, except their Chromium is even more out of date). They’ve invested heavily into their Linux ecosystem for Intel/AMD GPU PC’s for their failed Steam Machines and successful Steam Deck (Steam is quite laggy and shit on Nvidia+Linux but that’s Nvidia for you). However, most games sold aren’t built for Linux. Linux gamers buy Windows games and run compatibility software, so the games companies are still targeting Windows. I would give you an example from my sizeable Steam library, but the checkbox to disable listing Proton-based games is broken (just doesn’t turn off lol).

        Jetbrains and Steam are excellent examples of “don’t develop for Linux, develop for other platforms and port to Linux while you’re at it”. Valve tries its hardest but most of their income still comes from the Windows products they sell.

        • crispy_kilt@feddit.de
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          9 months ago

          they’re using the Electron approach

          Java isn’t the massive pile of shit that the JS ecosystem is. If you think these two are comlarable it is obvious you don’t know what you’re talking about. The landscape is a tiny bit more complex thn “C++ and then not C++”

          • Skull giver@popplesburger.hilciferous.nl
            link
            fedilink
            arrow-up
            1
            ·
            9 months ago

            Why not? The JVM is faster because the underlying language design was simply better all the way back in the 90s, but both are using low-level code (C++) to set up a rendering system that their virtual machines (JVM/V8) then render to, rather than directly accessing the GUI system.

            The JS ecosystem has left-pad and is stuck with endless transpilation bullshit to make sure everything is compatible with IE8, the Java ecosystem has log4j and is stuck on Java 8 because a critical library someone wrote in 2009 never got updated to support Java 9. Both are kind of shit, but so is every other programming ecosystem.