• @rational_lib@lemmy.world
    link
    fedilink
    1424 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.

  • UnfortunateShort
    link
    fedilink
    3724 days ago

    Because companies give zero fucks. They will tell you they need tons of IT people, when in reality they want tons of underpaid programmers. They want stuff as fast and cheap as possible. What doesn’t cause immediate trouble is usually good enough. What can be patched up somehow is kept running, even when it only leads you further up the cliff you will fall off eventually.

    Management is sometimes completely clueless. They rather hire twice as many people to keep some poorly developed app running, than to invest in a new, better developed app, that requires less maintenance and provides a better user experience. Zero risk tolerance and zero foresight.

    It still generates money, you keep it running. Any means are fine.

    • @lobut@lemmy.ca
      link
      fedilink
      36
      edit-2
      24 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.

    • @jmcs@discuss.tchncs.de
      link
      fedilink
      16325 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.

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

  • @x4740N@lemm.ee
    link
    fedilink
    123 days ago

    Lazy devs not removing old non functional commented code and background code additions ?

    Though I do get it if they don’t want to remove the old code if their employer is an asshole

    • @SketchySeaBeast@lemmy.ca
      link
      fedilink
      English
      423 days ago

      That’s not why. It’s the dependency trees that run a dozen layers deep and end up importing “isEven”. If you’re building a react app odds are good you’ll import way more code than you ever write yourself.

      And no one should be leaving commented-out code in their app, that’s what source control is for.

  • @Gxost@lemmy.world
    link
    fedilink
    2724 days ago

    It’s all because of Electron, unnecessary libraries, and just bad coders. Asus Armoury Crate weighs a lot and is so slow, but it’s basically a simple app. Total Commander has much more features, but it’s fast, lightweight, and consumes 9 MB of RAM.

    • @SirQuack@feddit.nl
      link
      fedilink
      1524 days ago

      I’ve said this on reddit before, but once for a joke I tried to make a windows program to play doot.wav during October at random, and tried programming it on Linux.

      Sinds playing audio and working with the system tray was tricky, I ended up with electron.

      So yeah, an atrocious 120 mb application to play a 6kb wav file with a Math.random(). I don’t remember the memory consumption, but it was probably just as gross.

      • @Gxost@lemmy.world
        link
        fedilink
        723 days ago

        Once I wrote an annoying program adding acceleration to the mouse cursor, so it was difficult to click any UI item. It was written in Object Pascal with Win API and weighted 16 KB. And I think in C it would be even smaller.

  • @enemenemu@lemm.ee
    link
    fedilink
    16825 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

    • @Onomatopoeia@lemmy.cafe
      link
      fedilink
      English
      1724 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.

      • @enemenemu@lemm.ee
        link
        fedilink
        524 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.

      • kratoz29
        link
        fedilink
        English
        1224 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 😅

  • @AppleTea@lemmy.zip
    link
    fedilink
    61
    edit-2
    24 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

    • @herrvogel@lemmy.world
      link
      fedilink
      2024 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.

    • @Lifter@discuss.tchncs.de
      link
      fedilink
      1824 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.

      • 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?

        • @drawerair@lemmy.world
          link
          fedilink
          7
          edit-2
          23 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.

    • @MonkderVierte@lemmy.ml
      link
      fedilink
      8
      edit-2
      24 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.

  • @count_dongulus@lemmy.world
    link
    fedilink
    140
    edit-2
    25 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.

    • @Bytemeister@lemmy.world
      link
      fedilink
      English
      1424 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.

      • @lud@lemm.ee
        link
        fedilink
        118 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.

    • @zenpocalypse@lemm.ee
      link
      fedilink
      English
      5525 days ago

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

      Storage is cheap compared to creating custom libraries.

      • @Tanoh@lemmy.world
        link
        fedilink
        924 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
        424 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.