• 0 Posts
  • 21 Comments
Joined 2 years ago
cake
Cake day: June 15th, 2023

help-circle




  • One of the things you’re seeing these days are apps made with bloated frameworks, so they’re cross-platform and easy to develop. In theory it’s great that anyone can make an app for any device with little-to-no code required, but it results in apps with absurd load times, ad bloat, and usability problems. And that’s across the board (though FOSS seems to buck that trend a bit still).

    As an example, my kid’s school uses an app called Seesaw. It’s straight-up garbage. It takes several seconds to open, the back button doesn’t work, etc. At least it’s not littered with ads, but it’s a small mercy.

    The web is experiencing the same thing. 60MB of ad services being loaded with every click, ads taking up 90% of screen real estate, slow everything, etc. I use some older hardware, but even websites that are mostly text are unusable without a strict adblocker. Not just annoying to use, but completely unusable.

    These big frameworks were developed for large, high-traffic sites like Facebook. In theory, they’ll work for your AI-generated blog, but they’ll suck to load if you host them with a $5/month hosting plan and load 300 ad-related things on each page.

    The solution is to create native apps and websites, or at least use frameworks appropriate to the task. But that would require people to give a shit, so I don’t see that happening often outside of FOSS projects (which are often a labor of love).

    Thanks for coming to my TED talk.






  • While there are lots of programming courses out there, not many of them will explicitly teach you about good programming principles. Here are a couple things off the top of my head:

    • High cohesion, low coupling. That is, when you divide up code into functions and classes, try to minimize the number of things going between those functions (if your functions regularly have 6+ arguments, that’s a red flag and should be reviewed). And when something needs to be broken up into pieces, try to find the spots where there are minimal points of contact.

    • Try to divide code between functions and files in a way that doesn’t feel too busy. If there are a bunch of related functions that are cluttering up one file, or that are referenced from multiple places, consider making a module for those. If you’re not sure what “too busy” means…

    • Read a style guide. There are lots of things that will help you clean up and organize your code. The guide won’t necessarily tell you why to do each thing, but it’s a great tool when you don’t have another point of reference.

    If you have a chance to take a “Software Engineering 101” class, this is where you’d learn most of the basic principles for writing better code.