3 ms·
I’ve done a 4K UHD video editor which fits on a floppy disk (1.4Mb), with 30 OpenGL effects, 10 languages, audio pluggins, and is insanely responsive (https://r
by smallstepforman 2y ago
I’ve done a 4K UHD video editor which fits on a floppy disk (1.4Mb), with 30 OpenGL effects, 10 languages, audio pluggins, and is insanely responsive (https://raw.githubusercontent.com/smallstepforman/Medo/main/Docs/Medo.jpeg https://raw.githubusercontent.com/smallstepforman/Medo/main/...), and programmed it in 2 years working 4-8 hours a week.
But it doesnt have a spell checker for 30 languages, it doesnt have a publish to social media button, it doesnt have a video tutorial, it doesnt have a collaberative network share mode, etc.
These features add bloat and latency. That is the root cause of software slowness today. Apps from 20 years ago are still usable today, and are blazingly fast.
- draven 2y agoIt's also a native app running on a lean OS, not something written in JS running on what can be thought of as a VM (Electron.) Another cause of software slowness is all the layers of abstractions. The author uses the Amiga as an example in the article. I also had a A600 and it was quite snappy because it did a lot less.
- fragmede 2y agohow is your app architected that drawing a button to publish to social media would slow your app down?
- jazzyjackson 2y agocan't speak to the OPs situation, but I remember a case in mobile apps where if you wanted to let people log in with facebook you needed to depend on the facebook sdk which necessarily blocked the cold start of the app while phoning home, for analytics purposes naturally I think this became a discussion item because facebook servers briefly went down and a bunch of apps wouldn't open If I'm remembering it wrong, consider this a hypothetical scenario :)
- teo_zero 2y agoEasy: it asks you the details of your accounts on first access, and stores them in its configuration. When launched the next time, it tries to log you in automatically. It also waits for the login to complete before drawing the button, so that it can gray it out if the login fails. Then it continuously checks the network and changes the button to reflect mutated conditions: connection lost, new messages/post...
- eru 2y agoA video tutorial by itself doesn't add an bloat or latency. It can't. (Assuming the tutorial is hosted on eg Youtube or is just a video file that you deliver with the program.) But you are right that you need to focus on latency, if you want to keep latency down. If you add all the other features, it's hard to keep that focus.
- mike_hearn 2y agoHis app appears to be written for Haiku, which is a BeOS clone. It might not come with the right codecs or embedded WebView you'd need to run YouTube. And even if it did, booting a whole browser to display a video invariably will add latency.
- eru 2y agoWell, only when you actually watch the video. I guess our commenter meant a video tutorial available from within the application?
- anal_reactor 2y ago> That is the root cause of software slowness today. No. The root cause is that there's certain speed above which average user doesn't perceive much improvement, so instead of optimizing the software to be as fast as possible, it's better to stick to that speed, put all the features we need, and minimize the expenditures. Think about it this way: do you need your video games to be at 1000FPS, or is 120 enough and you'd rather see more graphics effects or lower price?
- mrob 2y agoI'd rather have 1000FPS. 1000FPS is enough for motion quality that's good enough to be mistaken for real motion, and unlike realistic image quality, all it needs is one skilled programmer. Chasing realistic image quality is so expensive that you need to target the biggest market to stand any chance of making a profit. It inevitably leads to modern game design, where everything is homogenized and dumbed down for the masses, and full of anti-consumer practices like micro-transactions and games as a service.
- anal_reactor 2y agoYou, sir, are not the target audience
- unleaded 2y agodo you have a 1000hz monitor?
- mrob 2y agoNo, but I could at least benefit from reduced latency by disabling vsync. The higher the frame rate the less obvious the tearing this causes. And monitor manufacturers are more likely to produce a 1000Hz monitor if there are already games that can render that fast.
- ASalazarMX 2y agoWell, it's also made in C, not some modern automated-memory-managed language compiled to bytecode interpreted by a VM. I mean, C is not my goto language by far, but handling a truckload of memory operations efficiently seems like an ideal case for it.
- 1vuio0pswjnm7 2y ago"Apps from 20 years ago are still usuable today, and are blazingly fast." To be clear, the hardware is faster today. I am a daily user of "apps from 20 years ago". I have no desire to let today's software developers negate the gains I should be receiving from the new hardware that I purchase. It is as if they think the hardware belongs to them and they can use the resources as they please. The resources belong to me, not to software developers. It is like an expanding budget allocation that has no valid justification. In the year 199x/200x, the computer owner allocated program X that does job Y a certain amount of RAM, storage and CPU resources. Today, the computer owner has more RAM, storage and CPU available. Why should the computer owner allocate more resources to an "app" that wants to perform Y today than they did in 199x/200x. What if they do not want spell checker for 30 languages, publish to social media button, video tutorial and collaborative network share mode? The computer owner is not given a valid justification for the expansion nor the choice to say, "Upon careful consideration of your proposal for a 500% increase to the RAM, storage and CPU budget for app X to perform job Y, I have decided I will allocate the same amount of RAM, storage and CPU. The budget will not be increased. Thank you." As it happens that decision results in faster, more efficient completion of Y.