• @[email protected]
    link
    fedilink
    139
    edit-2
    29 days ago

    Cheaper & faster development by leveraging large libraries/frameworks, but inability to automatically drop most unused parts of those libraries/frameworks. You could in theory shrink Electron way down by yoinking out tons of browser features you’re not using, but there’s not much incentive to do it and it’d potentially require a lot of engineering work.

    • @[email protected]
      link
      fedilink
      English
      5529 days ago

      Yeah, though the joke is funny, this is the real answer.

      Storage is cheap compared to creating custom libraries.

      • @[email protected]
        link
        fedilink
        929 days ago

        Also the storage is the cost for the user, and google in the case of play store. So the developers have no incentive to reduce the size.

      • UnityDevice
        link
        fedilink
        English
        428 days ago

        Storage is cheap on a PC, it’s not cheap on mobile where it’s fixed and used as a model differentiator. They overcharge you so much. Oh, and they removed SD card slots from nearly all phones.

        • @[email protected]
          link
          fedilink
          428 days ago

          Nah it’s fine. Clean up used apps every once in a while. Base phones have more than enough space.

    • @[email protected]
      link
      fedilink
      English
      1929 days ago

      Yep. Apps are 20x bigger with no new features…that you are using.

      Let’s not forget that the graphics for applications has scaled with display resolution, and people generally demand a smooth modern look for their apps.

      • @[email protected]
        link
        fedilink
        123 days ago

        In the case of normal apps like PayPal graphics shouldn’t be a huge factor since it should be vectorized and there is pretty much no graphics in apps like PayPal.

        The issue comes from frameworks.

  • @[email protected]
    link
    fedilink
    33529 days ago

    It’s just that we have to make space for our 5,358 partners and the telemetry data they need.

    • @[email protected]
      link
      fedilink
      English
      429 days ago

      That still wouldn’t account for it. The code to collect this is tiny and the data isn’t stored locally. The whole point is for them to suck it up into their massive dataset.

    • @[email protected]
      link
      fedilink
      16429 days ago

      And analytics. And offloading as much computation to the client, because servers are expensive and inefficiency is not an issue if your users are the ones paying for it.

        • @[email protected]
          link
          fedilink
          928 days ago

          The Samsung shop hands out 1.4mb JSON responses for order tracking, with what I estimate 99% redundant information that is repeated many times in different parts of the structure.

    • @[email protected]
      link
      fedilink
      36
      edit-2
      29 days ago

      Web “Apps” are also quite bad. Lots of and lots of stuff we’re downloading and it feels clunky.

      Sometimes that’s bad coding, poor optimization, third party libraries, or sometimes just including trackers/ads on the page.

      • @[email protected]
        link
        fedilink
        English
        2029 days ago

        Some devs will include a whole library for one thing instead of trying to learn another way to do that thing.

        • chraebsli
          link
          fedilink
          1329 days ago

          A whole library which was meant to to 10 things, but you only use one. And that for x libraries

        • @[email protected]
          link
          fedilink
          English
          729 days ago

          Nowadays libraries are built with tree-shaking in mind, so when it’s time to deploy the app only the code that’s actually used gets bundled.

      • @[email protected]
        link
        fedilink
        English
        4329 days ago

        I vaguely recall a recent-ish article that an average web page is 30mb. That’s right, thirty megabytes.

        It’s amazing how much faster web browsing becomes when I run PiHole and block most of it.

        Suddenly the TV is pretty snappy, and all browsers feel so much smoother.

  • @[email protected]
    link
    fedilink
    16629 days ago

    Paypal has 500 mb and just shows a number and you can press a button to send a number to their server.

    It’s insane

    • @[email protected]
      link
      fedilink
      English
      1729 days ago

      Check out the apps Hermit and Native Alpha. They make web pages run like an app. I’ve only run into a couple sites where they don’t work right.

      • @[email protected]
        link
        fedilink
        529 days ago

        Native alpha sounds good since it’s foss and uses vanadium’s webview. Are you still logged in to paypal (any annoying website) a couple of months later. Or does it revoke your rights after a while?

        I only use it rarely and I hate providing my info for 5 minutes just to do one transaction.

    • @[email protected]
      link
      fedilink
      English
      1029 days ago

      Has to send a number to Apple’s server too! actually not even sure if that’s client side.

      • kratoz29
        link
        fedilink
        English
        1329 days ago

        LMAO, he also made me check it.

        347 MB for me, no wonder why I am always struggling with storage for my 128 GB phone (with not expandable storage of course), and I don’t even have that many games, even less ROMs 😅

    • @[email protected]
      link
      fedilink
      1129 days ago

      You know we’ve reached peak bloat and stupidity when JavaScript web apps have a compilation step, and I don’t mean JIT.

        • NoSpotOfGround
          link
          fedilink
          429 days ago

          Except… the compilation step doesn’t add type safety to JS.

          As an aside, type safety hasn’t been something I truly miss in JS, despite how often it’s mentioned.

            • NoSpotOfGround
              link
              fedilink
              228 days ago

              Ok, that could be true. I assumed they meant the “building” phase that some frameworks go through.

      • @[email protected]
        link
        fedilink
        128 days ago

        If the goal is to not have apps be too large, you probably don’t want to send the full variable and function names and all of the comments over the wire every time someone loads a webpage. That would be a very inefficient use of bandwidth, wouldn’t it?

          • @[email protected]
            link
            fedilink
            English
            127 days ago

            I guess it’s easier and safer to make a string replace for each function name beforehand than hoping the compression algorithm will figure that out.

            Also, as SpaceCowboy points out, comments are completely useless for the final web page. There’s no need to even compress them.

  • @[email protected]
    link
    fedilink
    60
    edit-2
    29 days ago

    isn’t it a combination of younger developers not learning to programme under the restrictions of limited memory and cpu speed, on top of employers demanding code as soon as possible rather than code that is elegant or resource efficient or even slightly planned out

    • @[email protected]
      link
      fedilink
      8
      edit-2
      28 days ago

      Generally maybe but for apps specifically, it’s the default choice of IDE, Android Studio, bundling tons of libraries for added functionality bound to Play Services.

      Which would probably be illegal in EU now, if any judge had the tech see-through for it.

    • @[email protected]
      link
      fedilink
      1829 days ago

      Much the latter.

      Plus everything better work perfecly out of the box on any hardware, and there is a lot of different hardware. Compatibility layers are often built into the package.

      Java, for instance, recommenda that you package the whole (albeit slimmed down) JVM inside the package for the target platform, rather than relying on the java runtime installed already.

      The users arent expected to know any of that anymore.

      • @[email protected]
        link
        fedilink
        628 days ago

        yep, a lot of apps are just repackaged chrome running a web page.

        which begs the question to companies that require use of the app instead of just having a working website i can use on my copy of chrome/firefox that’s already on my phone…

        why do you need hardware access to my device?

        • @[email protected]
          link
          fedilink
          7
          edit-2
          28 days ago

          1 reason is that they want as much data as possible. They sell the user data. Or they use the user data to improve their targeted advertising. They want more ad clicks.

          Re app versus site, many know how to block ads on browsers. With an app, the firm is hoping they can show you ads. Ads can be removed from some apps but the layperson doesn’t know.

    • @[email protected]
      link
      fedilink
      1928 days ago

      Mostly the latter. We don’t do any optimizations on our product whatsoever. Most important thing is to say yes to all the customers and add every single feature they want. Every sprint is spent adding and adding and adding to the code as much as we can and as quickly as we can. Not a single second is allotted to any discussion about performance or efficiency. Maybe when something breaks, but otherwise we keep piling on more crap at full speed non-stop. I have repeatedly been told “the fast way is the right way” followed by laughter. I was told to “merge this now” on multiple occasions even when I knew that the code was shit, and told the team as much. I am expected to write code now and think about it later.

      As you can expect, the codebase is a bloated nightmare. Slow as shit, bugs galore, ugly inconsistent UI, ENORMOUS memory use, waaaaaay too frequent DB access with a shit ton of duplicate requests that are each rather inefficient themselves. It is a rather complex piece of lab management software, but not so complex that it should be struggling to run on dedicated servers with 8 gigs of RAM. Yet it does.

  • @[email protected]
    link
    fedilink
    1529 days ago

    Because the app stores keep adding new requirements that you have to add code to deal with and it gets worse every year and seemingly every day.

    • @[email protected]
      link
      fedilink
      2329 days ago

      Nailed it. Things have changed to allow cheaper (interpretable in several ways) developers to create “good enough” software as quickly as possible. If that involves inefficient frameworks, technology, and practices that unlock this, then so be it; if the “best” code is the code that makes money, and money is what corporations prioritize above all else, and there is a way to do that quicker and cheaper, the outcome is obvious and now ubiquitous. Furthermore, if nobody at the top cares, why should anyone on the ground care? The problem compounds.

      Priorities are fucked.

      • bizarroland
        link
        fedilink
        1329 days ago

        If it runs “fast enough” on a completely clean system that would cost the average user $1500, then companies assume that that means that it is a good product.

        If you want better software, you have to give developers worse hardware to develop on, and more time to develop.

        • @[email protected]
          link
          fedilink
          4
          edit-2
          29 days ago

          If you want better software, you have to give developers worse hardware to develop on, and more time to develop.

          Shhh. There could be application development managers listening… (I’m joking… Mostly.)

      • @[email protected]
        link
        fedilink
        English
        329 days ago

        inefficient frameworks

        I’d like to object to that. Frameworks are often built by dedicated and paid developers, so they tend to be above average in terms of efficiency. But being frameworks, they have to facilitate lots of use cases, so they also tend to be bigger than what you would write if you had 6 months to roll your own. And 36 more months to kill all the worms that got out of the can, to mangle a proverb.

    • @[email protected]
      link
      fedilink
      929 days ago

      I wouldn’t say skill issue, more of time issue. You only get a week to implement something. Quicker to use existing libraries than try to optimise yourself.

      • @[email protected]
        link
        fedilink
        1029 days ago

        It’s both, and they are in a sense the same.

        Cheaper less skilled or less experienced programmers take longer to get similar results. One week with a a skilled programmer is a lot more value than one week with an unskilled programmer.

        Even more if you want to invest some of that experienced programmer time to get the new guy up to speed.

  • Dr. Wesker
    link
    fedilink
    English
    5129 days ago

    It’s the secret sauce, called unnecessary frameworks and user analytics modules.

    • Otter
      link
      fedilink
      English
      46
      edit-2
      29 days ago

      With that in mind, I LOVE how lean and fast some FOSS apps/projects are. One of my motivations to go searching for FOSS alternatives is when something seems slow for no reason.

      It’s not always the case, but it’s often the case

      • Björn Tantau
        link
        fedilink
        2129 days ago

        KDE Plasma has been getting so much more efficient with every release that you can almost recommend it for low-end systems.

        • CronyAkatsuki
          link
          fedilink
          1329 days ago

          I remeber using plasma on a weak 2016 160 usd laptop with no issue in 2018, I can only imagine how much better is now

          • ☂️-
            link
            fedilink
            12
            edit-2
            28 days ago

            lol my laptop is from 2012, i run gnome and kde easily. windows usually needs a round of debloating every update to be usable.

  • @[email protected]
    link
    fedilink
    3529 days ago

    It’s like Moore’s law. The number of bytes for a basic app doubles every 2.5 years.

    When I was young, we’d get a few different games games on a single 1.4 Mb floppy disk. The games were simpler, sure, but exactly the same games now would be far bigger in bytes.

    • @[email protected]
      link
      fedilink
      1129 days ago

      Games is the one example that actually makes sense though. The game code size hasn’t really increased tremendously, but the uncompressed assets have only gotten more detailed and more numerous.

    • At least games make sense, as the graphics get better. Though in some cases, the compression is also better. Like PS5 games are smaller on average than their PS4 versions, even though they have higher resolution textures in most cases, just because the PS5 has better compression/decompression tech.

      • @[email protected]
        link
        fedilink
        1729 days ago

        Better than that, the lack of reliance on spinning disks means that asset duplication and data read order is less of a requirement to reduce load times. It can still be argued that there’s just too many polygons, since simply scaling things back would be plenty effective in reducing storage usage and load times.

            • KillingTimeItself
              link
              fedilink
              English
              1
              edit-2
              28 days ago

              this entire thread is about software being dogshit? (this specific comment thread is about compression being moderately improved on one console, but that’s not really significant)

      • @[email protected]
        link
        fedilink
        English
        129 days ago

        Like PS5 games are smaller on average than their PS4 versions

        My favorite example of this is Subnautica. The system didn’t call on the assets as quickly, or a different way I can’t remember all of the details but essentially they had to put like five copies of every asset on the ps4 version to get it to run properly. The ps5 accesses the assets fast enough it only needs one copy. At least that’s how it was explained to me.

  • @[email protected]
    link
    fedilink
    5229 days ago

    The hp printer app says it needs your location to connect to WiFi. It says it needs your location all the time when not using the app, again to connect to WiFi

    • @[email protected]
      link
      fedilink
      2829 days ago

      I think that’s to do with how permissions work.

      Having wi-fi access can technically tell the app where you’re located so you need to give it location access

      Which is stupid because it then also gets GPS access.

  • @[email protected]
    link
    fedilink
    4829 days ago

    Bloatware, spyware, scope creep from middle managers feeling uncomfortable letting a dev have a slow day.